File: Makefile

package info (click to toggle)
afio 2.5-5
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 616 kB
  • ctags: 475
  • sloc: ansic: 4,678; sh: 535; makefile: 127; awk: 19
file content (114 lines) | stat: -rw-r--r-- 3,822 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
SHELL=/bin/sh
##
##  See the INSTALLATION file for quick installation instructions.
##
##  I wrote this Makefile, based on comments in the source.  -rich $alz.
##  Define INDEX to use index() in place of strchr() (v7, BSD).
#1	= -UINDEX
##  Define MEMCPY when an efficient memcpy() exists (SysV).
2	= -DMEMCPY
##  Define MKDIR when a mkdir() system call is present (4.2BSD, SysVr3).
3	= -DMKDIR
##  Define NOVOID if your compiler doesn't like void casts.
#4	= -UNOVOID
##  Define SYSTIME to use <sys/time.h> rather than <time.h> (4.2BSD).
#5	= -USYSTIME
##  Define VOIDFIX to allow pointers to functions returning void (non-PCC).
6	= -DVOIDFIX
##  Define CTC3B2 to support AT&T 3B2 streaming cartridge tape.
#7	= -UCTC3B2
##  Define HAVEFCNTL if you have <fcntl.h>
8	= -DHAVEFCNTL
##  Define MYTEMPNAM if you don't have tempnam()
#a	= -UMYTEMPNAM
##  Define UNIXPC if you are on a 3b1, 7300, etc.
##	(problem is you can't write to a floppy from shared memory)
#b	= -UUNIXPC
##  Define HAVEMEMCMP if you have memcmp otherwise assumes bcmp
c	= -DHAVEMEMCMP
##  Define DEFFMTCMD to being how to format the media you use the most
##		This is the DEFault FoRMat CoManD. 
d	= -DDEFFMTCMD='"fdformat /dev/fd0H1440"'
##  Define LONGZFILE if you want .Z to be tagged on the end of a 14 char
##	file name (or longer for BSD) in the archive when the file is compressed
#e	= -DLONGZFILE

##  Define HAVE_LCHOWN is the system has an lchown call (like chown but does
##  not follow symlinks)
e2      = -DHAVE_LCHOWN

##  Define PRG_COMPRESS to get something other than `gzip'.
# you need to edit compfile.c (-G option) if you change this line.
f	= -DPRG_COMPRESS='"gzip"'

## Define HAVEFNMATCH if you want to use the gnu fnmatch() routine for
# -y -Y -w -W matching.
# If it is not defined, a primitive replacement match routine is used that
# only supports patterns of the form "cccc" and "cccc*".  Make sure that
# you change the manual page in this case.

g	= -DHAVEFNMATCH

# fnmatch() is in the gnu C library, so it is directly available on
# Linux.  If your system (e.g. SCO) does not have the gnu C library,
# unpack the archive gnu.fnmatch.tar.gz and uncomment the following
# two lines:

#M	 = fnmatch.o
#I	 = -I.

# Please read the COPYING.LIB file in this archive if you plan to
# redistribute afio executables with this library linked in.

#uncomment one of the two lines below to
#get the normal or large file compile environment
# afio will work when compiled in both environments, but on old or non-linux
# systems the large file compile environment itself might be buggy or beta.
#LARGEFILEFLAGS=
LARGEFILEFLAGS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

# even more warnings flags..
MW=
#MW=-Wtraditional -Wcast-qual -Wcast-align -Wconversion -pedantic -Wlong-long -Wimplicit -Wuninitialized -W -Wshadow -Wsign-compare -Wstrict-prototypes -Wmissing-declarations

CFLAGS1 = -Wall -Wstrict-prototypes -s -O2 -fomit-frame-pointer ${LARGEFILEFLAGS} ${MW}

CC=gcc

CFLAGS = ${CFLAGS1} $1 $2 $3 $4 $5 $6 $7 $8 $9 $a $b $c $d $e ${e2} $f $g $I
LDFLAGS =

afio : afio.o compfile.o exten.o match.o $M
	${CC} ${LDFLAGS} afio.o compfile.o exten.o match.o $M -o afio

clean:
	rm -f *.o afio 
	rm -f regtest/cmpstat regtest/makesparse
	rm -f regtest/statsize regtest/statsize64
	cd regtest; /bin/sh regtest.clean

install: afio
	cp afio /usr/local/bin
	cp afio.1 /usr/share/man/man1

# generate default list of -E extensions from manpage
# note: on sun, I had to change awk command below to nawk or gawk
# to get it to work.
exten_default.h : afio.1
		awk -f exten_make.awk afio.1 >exten_default.h


afio.o : afio.h patchlevel.h
compfile.o : afio.h
exten.o : afio.h exten_default.h
match.o : afio.h

regtest: regtestx

regtestx: afio
	cd regtest; make; rm cmpstat

regtest2gb: regtest2gbx

regtest2gbx: afio
	cd regtest; make 2gb