# Un*x Makefile for GNU tar program. # Copyright (C) 1991, 1992 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #### Start of system configuration section. #### srcdir = @srcdir@ VPATH = @srcdir@ # If you use gcc, you should either run the fixincludes script that # comes with it or else use gcc with the -traditional option. Otherwise # ioctl calls will be compiled incorrectly on some systems. CC = @CC@ YACC = @YACC@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ # Things you might add to DEFS: # -DSTDC_HEADERS If you have ANSI C headers and libraries. # -DHAVE_UNISTD_H If you have unistd.h. # -DHAVE_LIMITS_H If you have limits.h. # -DBSD42 If you have sys/dir.h (unless you use -DPOSIX), # sys/file.h, and st_blocks in `struct stat'. # -DUSG If you have System V/ANSI C string # and memory functions and headers, # fcntl.h, getcwd, no valloc, # and ndir.h (unless you use -DDIRENT). # -DDIRENT If USG and you have dirent.h instead of ndir.h. # -DMAJOR_IN_MKDEV If major, minor, makedev defined in sys/mkdev.h. # -DMAJOR_IN_SYSMACROS If major, minor, makedev defined in sys/sysmacros.h. # -DRETSIGTYPE=int If your signal handlers return int, not void. # -DHAVE_SYS_MTIO_H If you have sys/mtio.h (magtape ioctls). # -DHAVE_SYS_GENTAPE_H If you have sys/gentape.h (ISC magtape ioctls). # -DHAVE_NETDB_H To use rexec for remote tape operations # instead of forking rsh or remsh. # -DNO_REMOTE If you have neither a remote shell nor rexec. # -DHAVE_VPRINTF If you have vprintf function. # -DHAVE_DOPRNT If you have _doprnt function (but lack vprintf). # -DHAVE_FTIME If you have ftime system call. # -DHAVE_STRSTR If you have strstr function. # -DHAVE_VALLOC If you have valloc function. # -DHAVE_MKDIR If you have mkdir and rmdir system calls. # -DHAVE_MKNOD If you have mknod system call. # -DHAVE_RENAME If you have rename system call. # -DHAVE_FTRUNCATE If you have ftruncate system call. # -DV7 On Version 7 Unix (not tested in a long time). # -DEMUL_OPEN3 If you lack a 3-argument version of open, and want # to emulate it with system calls you do have. # -DNO_OPEN3 If you lack the 3-argument open and want to # disable the tar -k option instead of emulating open. # -DXENIX If you have sys/inode.h and need it to be included. DEF_AR_FILE = @DEF_AR_FILE@ DEFBLOCKING = 20 DEFS = @DEFS@ -DDEF_AR_FILE=\"$(DEF_AR_FILE)\" -DDEFBLOCKING=$(DEFBLOCKING) -DPOSIX -DNO_REMOTE # Set this to rtapelib.o unless you defined NO_REMOTE, in which case # make it empty. RTAPELIB = LIBS = @LIBS@ CFLAGS = -g LDFLAGS = -g prefix = /usr/local exec_prefix = $(prefix) # Prefix for each installed program, normally empty or `g'. binprefix = # The directory to install tar in. bindir = $(exec_prefix)/bin # Where to put the rmt executable. libdir = /etc # The directory to install the info files in. infodir = $(prefix)/info #### End of system configuration section. #### SHELL = /bin/sh SRC1 = tar.c create.c extract.c buffer.c getoldopt.c update.c gnu.c mangle.c SRC2 = version.c list.c names.c diffarch.c port.c fnmatch.c getopt.c malloc.c SRC3 = getopt1.c regex.c getdate.y SRCS = $(SRC1) $(SRC2) $(SRC3) OBJ1 = tar.o create.o extract.o buffer.o getoldopt.o update.o gnu.o mangle.o OBJ2 = version.o list.o names.o diffarch.o port.o fnmatch.o getopt.o @MALLOC@ OBJ3 = getopt1.o regex.o getdate.o $(RTAPELIB) OBJS = $(OBJ1) $(OBJ2) $(OBJ3) AUX = README INSTALL NEWS COPYING ChangeLog Makefile.in makefile.pc \ configure configure.in \ tar.h fnmatch.h pathmax.h port.h open3.h getopt.h regex.h \ rmt.h rmt.c rtapelib.c alloca.c \ msd_dir.h msd_dir.c tcexparg.c \ level-0 level-1 backup-specs testpad.c getpagesize.h # tar.texinfo tar.info* texinfo.tex \ all: @PROGS@ # tar.info .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFS) -I$(srcdir) -I. $< tar: $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) rmt: rmt.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(srcdir)/rmt.c $(LIBS) tar.info: tar.texinfo makeinfo $(srcdir)/tar.texinfo install: all $(INSTALL_PROGRAM) tar $(bindir)/$(binprefix)tar -test ! -f rmt || $(INSTALL_PROGRAM) rmt $(libdir)/rmt # for file in $(srcdir)/tar.info*; \ # do $(INSTALL_DATA) $$file $(infodir)/$$file; \ # done uninstall: rm -f $(bindir)/$(binprefix)tar $(infodir)/tar.info* -rm -f $(libdir)/rmt $(OBJS): tar.h pathmax.h port.h testpad.h regex.o buffer.o tar.o: regex.h tar.o fnmatch.o: fnmatch.h getdate.c: getdate.y yacc getdate.y mv y.tab.c getdate.c # getdate.y has 8 shift/reduce conflicts. testpad.h: testpad ./testpad testpad: testpad.o $(CC) -o $@ testpad.o TAGS: $(SRCS) etags $(SRCS) clean: rm -f *.o tar rmt testpad testpad.h core mostlyclean: clean distclean: clean rm -f Makefile config.status realclean: distclean rm -f TAGS *.info* shar: $(SRCS) $(AUX) shar $(SRCS) $(AUX) | compress > tar-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c`.shar.Z dist: $(SRCS) $(AUX) echo tar-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname -rm -rf `cat .fname` mkdir `cat .fname` ln $(SRCS) $(AUX) `cat .fname` tar chZf `cat .fname`.tar.Z `cat .fname` -rm -rf `cat .fname` .fname tar.zoo: $(SRCS) $(AUX) -rm -rf tmp.dir -mkdir tmp.dir -rm tar.zoo for X in $(SRCS) $(AUX) ; do echo $$X ; sed 's/$$/ /' $$X > tmp.dir/$$X ; done cd tmp.dir ; zoo aM ../tar.zoo * -rm -rf tmp.dir # Prevent GNU make v3 from overflowing arg limit on SysV. .NOEXPORT: