File: Makefile

package info (click to toggle)
smail 3.2.0.102-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 4,228 kB
  • ctags: 3,924
  • sloc: ansic: 41,366; sh: 3,434; makefile: 2,349; awk: 689; perl: 598; yacc: 427; sed: 2
file content (118 lines) | stat: -rw-r--r-- 3,020 bytes parent folder | download
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
115
116
117
118
#
#ident	"@(#)smail/pd/pathalias:RELEASE-3_2_0_102:Makefile,v 1.19 1997/05/07 22:59:18 woods Exp"
#
# pathalias -- by steve bellovin, as told to peter honeyman

SHELL=/bin/sh
AR=ar
LINT=lint
SRC_PREFIX=

MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
MKDEFS=${ROOT}/conf/lib/mkdefs.sh
CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
MKDIRS=${ROOT}/conf/lib/mkdirs.sh
INST=${ROOT}/conf/lib/inst.sh
INSTM=${ROOT}/conf/lib/instm.sh
XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
DEFS_SH=defs.sh
DEFS_H=defs.h
DEFS_SED=defs.sed

ROOT = ../..
UTILSRC = ${ROOT}/util
MAINSRC = ${ROOT}/src
INCLUDES = -I${UTILSRC} -I${MAINSRC} $$DBM_INCLUDES $$INCLUDES
CFLAGS = -DSTATIC=static $$CFLAGS
YFLAGS = -d
OBJ = addlink.o addnode.o domain.o local.o main.o mapit.o mapaux.o mem.o parse.o printit.o
HDRS = def.h config.h
CSRC = addlink.c addnode.c domain.c local.c main.c mapit.c mapaux.c mem.c printit.c
MORE_OBJ = makedb.o
MORE_CSRC = makedb.c
MISCSRC = Makefile CHANGES README
YSRC = parse.y
SRC = $(CSRC) $(HDRS) $(MISCSRC) $(YSRC) $(MORE_CSRC)
LSRC = $(CSRC) parse.c
TARGETS = pathalias makedb
COMPAT_LIB_DIR=${ROOT}/compat
COMPAT_LIB=${COMPAT_LIB_DIR}/compat.a

all: ${TARGETS}

pathalias: $(OBJ) ${COMPAT_LIB}
	@. ./${DEFS_SH}; ${XEXEC} $$CC ${CFLAGS} $$LDFLAGS ${OBJ} ${GETOPT} \
		-o pathalias $$LIBS $$DBM_LIB ${COMPAT_LIB}

${COMPAT_LIB}:
	cd ${COMPAT_LIB_DIR}; ${MAKE}

mkdefs ${DEFS_H} ${DEFS_SH} ${DEFS_SED}: ${ROOT}/conf/EDITME
	ROOT=${ROOT} ${SHELL} ${MKDEFS}

${ROOT}/conf/EDITME: # cannot depend on anything!
	cd ${ROOT}/conf; ${MAKE} EDITME

.c.o:
	@. ./${DEFS_SH}; ${XEXEC} $$CC ${CFLAGS} ${INCLUDES} -c $*.c

names:
	@for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done

${OBJ} ${MORE_OBJ}: ${DEFS_SH} ${DEFS_H}

depend local_depend: ${SRC} parse.c check_defs
	@. ./${DEFS_SH}; ${XEXEC} ${SHELL} ${MKDEPEND} $$CPPFLAGS ${INCLUDES} \
		Makefile ${CSRC} ${MORE_CSRC} parse.c
	. ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> Makefile
	chmod -w Makefile

check_defs:
	SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}

install: all ${DEFS_SH}
	@. ./${DEFS_SH}; \
	   case "$$DONT_INSTALL" in \
	   ?*)	echo Testing ... install ignored; exit 0;; \
	   esac; \
	   ${XEXEC} ${SHELL} ${MKDIRS} -m 0755 $$UTIL_BIN_DIR; \
	   s_flag=; \
	   case "$$STRIP" in \
	   ?*)	s_flag=-s;;\
	   esac; \
	   ${XEXEC} ${SHELL} ${INSTM} $$s_flag -m 0555 $$UTIL_BIN_DIR ${TARGETS}

parse.o: parse.c

parse.c: parse.y $(HDRS)
	$(YACC) $(YFLAGS) parse.y
	sed 's/y\.tab\.c/parse.c/' < y.tab.c > $@
	rm -f y.tab.c

makedb: makedb.o ${DEFS_SH} ${COMPAT_LIB}
	@. ./${DEFS_SH}; ${XEXEC} $$CC ${CFLAGS} $$LDFLAGS makedb.o ${GETOPT} \
		-o makedb $$LIBS $$DBM_LIB ${COMPAT_LIB}

makedb.o: config.h

clean:
	rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
	rm -f *.o y.tab.? parse.c

clobber: clean
	rm -f pathalias makedb

tags: $(CSRC) $(HSRC)
	ctags -w $(CSRC) $(HSRC)

TAGS: $(CSRC) $(HSRC)
	etags -w $(CSRC) $(HSRC)

bundle:
	@bundle ${SRC}

lint:	$(LSRC)
	${LINT} ${LINTFLAGS} $(CFLAGS) $(LSRC)
	${LINT} ${LINTFLAGS} makedb.c

# DO NOT REMOVE THIS LINE, OR "make depend" WILL NOT WORK