| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | # Makefile for file(1) cmd. # Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE.# @(#)$Id: Makefile,v 1.51 1996/06/22 22:05:07 christos Exp $## This software is not subject to any license of the American Telephone# and Telegraph Company or of the Regents of the University of California.## Permission is granted to anyone to use this software for any purpose on# any computer system, and to alter it and redistribute it freely, subject# to the following restrictions:## 1. The author is not responsible for the consequences of use of this#    software, no matter how awful, even if they arise from flaws in it.## 2. The origin of this software must not be misrepresented, either by#    explicit claim or by omission.  Since few users ever read sources,#    credits must appear in the documentation.## 3. Altered versions must be plainly marked as such, and must not be#    misrepresented as being the original software.  Since few users#    ever read sources, credits must appear in the documentation.## 4. This notice may not be removed or altered.# Optimized for Linux because sunsite.unc.edu, tsx-11.mit.edu,# ftp.redhat.com, ftp.funet.fi, and other Linux sites never get# a copy uploaded to them. Most still had 3.15 + a patch at the# time of this hack.  --  Albert Cahalan <acahalan@cs.uml.edu># Was 3.20, number changed as requested.VERSION	= 3.20.1SHELL	= /bin/shMAGIC	= /etc/magic#MAGIC	= /usr/local/etc/magicDEFS	= -DMAGIC='"$(MAGIC)"' # -Dvoid=intCC	= gccCOPTS	= -s -O2 -fno-strength-reduce -fomit-frame-pointerCFLAGS	= $(COPTS) $(DEFS)LDFLAGS	= $(COPTS) # -Bstatic	# older gdb couldn't handle shared libsSHAR	= bundleOFILE	= /usr/bin/file		# old or distributed version, for comparison# Where new binary lives; typically /usr/local (BSD), /usr/lbin (USG).BINDIR	= /usr/bin# For installing our man pages; # MANCxxx is manual section for Commands, MANFxxx is section for file formats.# MANxDIR is directory names; MANxEXT is the filename extention. Usual values:# Variable	V7		4BSD		Sys V# MANCDIR 	/usr/man/man1	/usr/man/man1	/usr/man/u_man/man1# MANFDIR 	/usr/man/man5	/usr/man/man5	/usr/man/u_man/man4# MANCEXT	1		1		1# MANFEXT	5		5		4# --- possible alternative for 4BSD ---# MANCDIR			/usr/local/man/man1# MANCEXT			1# or# MANCDIR			/usr/man/manl# MANCEXT			l# --- possible alternative for USG ---# MANCDIR			/usr/man/local/man1# MANCEXT			1MANCDIR	= /usr/local/man/man1MANCEXT	= 1MANFDIR	= /usr/local/man/man5MANFEXT	= 5# There are no system-dependant configuration options (except maybe CFLAGS).# Uncomment any of these that is missing from your "standard" library.LOCALSRCS = # localsrc/getopt.c localsrc/strtol.c \#		localsrc/strtok.c localsrc/strchr.cLOCALOBJS = # localsrc/getopt.o localsrc/strtol.o \#		localsrc/strtok.o localsrc/strchr.o# These are not compiled in unless you use -Ilocalinc, but# are not commented out as "make dist" &c use them.LOCALINC = # localinc/*.h localinc/sys/*.hSRCS = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \	compress.c is_tar.c \	print.c $(LOCALSRCS) $(LOCALINC)OBJS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \	compress.o is_tar.o \	print.o $(LOCALOBJS)ALLSRC = LEGAL.NOTICE README MAINT PORTING $(SRCS) *.h \	 Makefile file.man magic.man ALLMAGIC =   Magdir/Makefile Magdir/Localstuff Magdir/Header Magdir/[a-z]*all:		file magic file.${MANCEXT} magic.${MANFEXT}TESTFILES = * tst/*try:		all $(OFILE)		cd tst; $(MAKE)		time $(OFILE) $(TESTFILES) >/tmp/t1 # can't use ./magic		time ./file -m ./magic $(TESTFILES) >/tmp/t2		-diff -b /tmp/t[12]		what ./file >lastnocorefile:		$(OBJS)		$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@lint:		$(SRCS)		lint -ha $(DEFS) $(SRCS) | tee $@magic:		Magdir#		Magdir/Makefile's "install" mv's magic to here for testing.		cd Magdir; $(MAKE) installascmagic.o:	names.hcompress.o apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.hinstall:	file magic		cp file	$(BINDIR)/file		cp magic $(MAGIC)install.man: file.${MANCEXT} magic.${MANFEXT}		cp file.${MANCEXT} $(MANCDIR)/file.$(MANCEXT)		cp magic.${MANFEXT} $(MANFDIR)/magic.$(MANFEXT)clean:		rm -f *.o core file magic lint dist.* MANIFEST \		      magic.${MANFEXT} file.${MANCEXT}clobber:		cd tst; $(MAKE) cleanmagic.${MANFEXT} :	Makefile magic.man		@rm -f $@		sed -e s@__CSECTION__@${MANCEXT}@g \		    -e s@__FSECTION__@${MANFEXT}@g \		    -e s@__VERSION__@${VERSION}@g \		    -e s@__MAGIC__@${MAGIC}@g magic.man > $@file.${MANCEXT} :	Makefile file.man		@rm -f $@		sed -e s@__CSECTION__@${MANCEXT}@g \		    -e s@__FSECTION__@${MANFEXT}@g \		    -e s@__VERSION__@${VERSION}@g \		    -e s@__MAGIC__@${MAGIC}@g file.man > $@send:		dist		ftp ftp.csdist:		dist.src dist.magic		@echo Now check this patchlevel!		ident patchlevel.hdist.src:	$(ALLSRC) MANIFEST#		Some versions of shar can't handle a single file from#		a subdirectory, so we manually insert mkdir as needed.#		The point is to exclude all the generable targets in tst.		(echo mkdir localinc localinc/sys localsrc tst; \			$(SHAR) $(ALLSRC) MANIFEST) > $@rcsdiff:	$(ALLSRC)		rcsdiff -q RCS/*MANIFEST:	$(ALLSRC)		ident $(ALLSRC) > MANIFESTdist.magic:	Magdir#		As above, but to exclude Magdir/RCS from being shipped.		(echo mkdir Magdir; $(SHAR) $(ALLMAGIC)) >$@tar:		$(ALLSRC) $(ALLMAGIC)		-rm -fr file-${VERSION}		-mkdir file-${VERSION} file-${VERSION}/Magdir		ln $(ALLSRC) file-${VERSION}		ln ${ALLMAGIC} file-${VERSION}/Magdir		tar cvf file-${VERSION}.tar file-${VERSION}		-rm -fr file-${VERSION}
 |