# 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. SHELL = /bin/sh #### 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. # -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. # -DNO_MTIO If you lack sys/mtio.h (magtape ioctls). # -DNO_REMOTE If you do not have a remote shell or rexec. # -DUSE_REXEC To use rexec for remote tape operations # instead of forking rsh or remsh. # -DVPRINTF_MISSING If you lack vprintf function (but have _doprnt). # -DDOPRNT_MISSING If you lack _doprnt function. Also need to define # -DVPRINTF_MISSING. # -DFTIME_MISSING If you lack ftime system call. # -DSTRSTR_MISSING If you lack strstr function. # -DVALLOC_MISSING If you lack valloc function. # -DMKDIR_MISSING If you lack mkdir and rmdir system calls. # -DRENAME_MISSING If you lack rename system call. # -DFTRUNCATE_MISSING If you lack frtruncate 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) # Set this to rtapelib.o unless you defined NO_REMOTE, in which case # make it empty. RTAPELIB = @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 # The directory to install the info files in. infodir = $(prefix)/info #### End of system configuration section. #### 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 wildmat.c getopt.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 wildmat.o getopt.o OBJ3 = getopt1.o regex.o getdate.o $(RTAPELIB) OBJS = $(OBJ1) $(OBJ2) $(OBJ3) AUX = README INSTALL COPYING ChangeLog Makefile.in makefile.pc \ configure configure.in \ tar.texinfo tar.info* texinfo.tex \ tar.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 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 $@ $rmt.c< tar.info: tar.texinfo makeinfo $tar.texinfo< install: all $(INSTALL_PROGRAM) tar $(bindir)/$(binprefix)tar -test ! -f rmt || $(INSTALL_PROGRAM) rmt /etc/rmt $(INSTALL_DATA) $(srcdir)/tar.info* $(infodir) $(OBJS): tar.h port.h testpad.h regex.o buffer.o tar.o: regex.h # 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: