# 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@
+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
# 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
# -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
+# -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.
-# -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.
+# -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.
# disable the tar -k option instead of emulating open.
# -DXENIX If you have sys/inode.h and need it to be included.
-DEFS = @DEFS@
+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@
-DEF_AR_FILE = @DEF_AR_FILE@
-DEFBLOCKING = 20
-CDEBUG = -g
-CFLAGS = $(CDEBUG) -I. -I$(srcdir) $(DEFS) \
- -DDEF_AR_FILE=\"$(DEF_AR_FILE)\" \
- -DDEFBLOCKING=$(DEFBLOCKING)
+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 = $(prefix)/bin
+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 wildmat.c getopt.c
-SRC3 = getopt1.c regex.c getdate.y
+SRC2 = version.c list.c names.c diffarch.c port.c wildmat.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 wildmat.o getopt.o
+OBJ2 = version.o list.o names.o diffarch.o port.o wildmat.o getopt.o @MALLOC@
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 \
+ tar.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
+ level-0 level-1 backup-specs testpad.c getpagesize.h
+# tar.texinfo tar.info* texinfo.tex \
-all: @PROGS@ tar.info
+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<
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(srcdir)/rmt.c
tar.info: tar.texinfo
- makeinfo $tar.texinfo<
+ makeinfo $(srcdir)/tar.texinfo
install: all
$(INSTALL_PROGRAM) tar $(bindir)/$(binprefix)tar
- -test ! -f rmt || $(INSTALL_PROGRAM) rmt /etc/rmt
- $(INSTALL_DATA) $(srcdir)/tar.info* $(infodir)
+ -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 port.h testpad.h
+$(OBJS): tar.h pathmax.h port.h testpad.h
regex.o buffer.o tar.o: regex.h
# getdate.y has 8 shift/reduce conflicts.
for X in $(SRCS) $(AUX) ; do echo $$X ; sed 's/$$/\r/' $$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: