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 (117 lines) | stat: -rw-r--r-- 3,028 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
#
#ident	"@(#)smail/pd:RELEASE-3_2_0_102:Makefile,v 1.12 1996/11/12 18:25:25 lyndon Exp"
#
# Makefile for items that are in the public domain
#
# This file is in the public domain

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
DEFS_SH=defs.sh
DEFS_H=defs.h
DEFS_SED=defs.sed

MAKE_SUB_DIRS=getopt pathalias uuwho binmail
MISC_SUB_DIRS=sdbm strlib
SUB_DIRS=${MAKE_SUB_DIRS} ${MISC_SUB_DIRS}
ROOT=..
MISCSRC=Makefile README
SRC=${MISCSRC}

all:	build_util

build_util: ${DEFS_SH}
	@if [ -f ${DEFS_SH} ]; then \
	   . ./${DEFS_SH}; \
	   case "$$DBM_LIB" in \
	   */pd/sdbm/*) \
		echo "Build default targets under ${SRC_PREFIX}sdbm ..."; \
		(cd sdbm; ${MAKE} SRC_PREFIX=${SRC_PREFIX}sdbm/); \
	   esac; fi
	@for i in ${MAKE_SUB_DIRS}; do \
		echo "Build default targets under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/); \
	 done

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

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

names:
	@for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done
	@for i in ${SUB_DIRS}; do \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ names); \
	 done

install:
	@for i in ${MAKE_SUB_DIRS}; do \
		echo "Install targets under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ install); \
	 done

depend: local_depend subdir_depend

local_depend: check_defs
	${SHELL} ${MKDEPEND} Makefile
	. ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> Makefile
	chmod -w Makefile

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

mkdefs: local_mkdefs subdir_mkdefs

local_mkdefs: ${DEFS_SH} ${DEFS_H} ${DEFS_SED}

subdir_mkdefs:
	@for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
		echo "Checking defs files under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ mkdefs); \
	 done

subdir_depend:
	@for i in ${MAKE_SUB_DIRS} strlib; do \
		echo "Make dependencies under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ depend); \
	 done
	@if [ -f ${DEFS_SH} ]; then \
	   . ./${DEFS_SH}; \
	   case "$$DBM_LIB" in \
	   */pd/sdbm/*) \
		echo "Make dependencies under ${SRC_PREFIX}sdbm ..."; \
		(cd sdbm; ${MAKE} SRC_PREFIX=${SRC_PREFIX}sdbm/ depend); \
	   esac; fi

clean: local_clean
	@for i in ${SUB_DIRS}; do \
		echo "Clean under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ clean); \
	 done

clobber: local_clean
	@for i in ${SUB_DIRS}; do \
		echo "Clobber under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ clobber); \
	 done

local_clean:
	rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
	rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED} .Makefile

nuke:
	-${CLEAN}
	-${GET} Makefile
	@for i in ${SUB_DIRS}; do \
		echo "Nuke under ${SRC_PREFIX}$$i ..."; \
		(cd $$i; ${MAKE} SRC_PREFIX=${SRC_PREFIX}$$i/ nuke); \
	 done

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