# # PAX - read and write POSIX conformant tar and cpio archives # # Written by Mark H. Colburn (mark@jhereg.mn.org) # # $Id: Makefile,v 1.2 89/02/12 10:08:59 mark Exp $ # # # CONFIGURATION SECTION # # The following defines may need to be changed for each system which PAX # is installed on. Please review these settings before installing on your # system. # # You should define _POSIX_SOURCE if you are running on a POSIX system. This # include has to be in the command line because it has to appear before any # include file is included in the source. For most systems in use today, # it should be left blank. # # POSIX= -D_POSIX_SOURCE POSIX= # # Set CFLAGS to whatever makes your C compiler happy. Be sure to include # the definition of $(POSIX) in the flag. # CFLAGS = -O $(POSIX) CC = cc # # Set LIBS to any additional libraries that you need linked in with pax. # LIBS= # # Set LFLAGS to whatever makes your linker happy # #LDFLAGS = -s LDFLAGS = # # Set COPY to the name of the command to use to copy pax to cpio and # tar. Usually it is 'ln'. # COPY=ln # # Set LINTFLAGS to whatever makes your implementation of lint happy. If # you don't undef __STDC__ and you have an ANSI C compiler, lint will choke # on the function prototypes present in func.h. # LINTFLAGS = -U__STDC__ $(POSIX) # # BINDIR - points to the directory in which you want the final pax, tar and # cpio binaries installed in. # BINDIR = /usr/local/bin # # MANDIR - specify the directory in which the man pages will be installed # MAN5 = /usr/man/man5 MAN1 = /usr/man/man1 MAN5EXT = 5 MAN1EXT = 1 # # There are three different ways to get POSIX or BSD conformant directory # access routines: 1) they are installed in your system library, 2) you # are using Doug Gwyn's dirent library (/usr/lib/libdirent.a), or 3) you # need the source for the dirent package. Based on that, pick one of the # following three options: # # 1. Pick the first dirent line and make sure that config.h is defined # correctly for your version of directory access routines. THIS IS # THE LINE WHICH SHOULD BE USED FOR BSD SYSTEMS. # 2. Chose the second dirent line which used a library at link time. You # may need to change the name of the library to match your system. # 3. If you need #3, then you must copy everything in the subdirectory dirent # to this directory and choose the DIROBJ lines. Please note that this # version of dirent has been modified to work as a stand-alone. # DIRENT= #DIRENT= -ldirent #DIROBJ= paxdir.o # # END CONFIGURATION SECTION # # Nothing beyond this point should need to be changed. # SHELL = /bin/sh MISC = Makefile pax.1 tar.5 cpio.5 README PATCHLEVEL HEADERS= config.h func.h limits.h port.h pax.h SOURCE= pax.c append.c buffer.c cpio.c create.c extract.c fileio.c\ link.c list.c mem.c namelist.c names.c pass.c pathname.c\ port.c regexp.c replace.c tar.c ttyio.c warn.c wildmat.c OBJECT= pax.o append.o buffer.o cpio.o create.o extract.o fileio.o\ link.o list.o mem.o namelist.o names.o pass.o pathname.o\ port.o regexp.o replace.o tar.o ttyio.o warn.o wildmat.o $(DIROBJ) PROGS = pax tar cpio PMAN1 = pax.1 tar.1 PMAN5 = pax.5 tar.5 all: $(PROGS) install: $(PROGS) strip pax cp pax $(BINDIR) chmod 755 $(BINDIR)/pax ln $(BINDIR)/pax $(BINDIR)/tar ln $(BINDIR)/pax $(BINDIR)/cpio cp $(PMAN1) $(MAN1) # cp $(PMAN5) $(MAN5) clean: rm -f $(OBJECT) rm -f $(PROGS) a.out *.BAK *.bak lint: lint $(LINTFLAGS) $(SOURCE) pax : $(OBJECT) $(CC) $(CFLAGS) $(LDFLAGS) -o pax $(OBJECT) $(DIRENT) $(LIBS) tar: pax rm -f tar $(COPY) pax tar cpio: pax rm -f cpio $(COPY) pax cpio $(OBJECT): $(HEADERS)