Deleted Added
full compact
bsd.obj.mk (15353) bsd.obj.mk (15948)
1# $Id: bsd.obj.mk,v 1.2 1996/04/09 22:43:33 wosch Exp $
1# $Id: bsd.obj.mk,v 1.3 1996/04/22 23:31:39 wosch Exp $
2#
3# The include file <bsd.obj.mk> handles creating 'obj' directory
4# and cleaning up object files, log files etc.
5#
6#
7# +++ variables +++
8#
9# BSDSRCDIR The real path to the system sources, so that 'make obj'
10# will work correctly. [/usr/src]
11#
12# BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj'
13# will work correctly. [/usr/obj]
14#
2#
3# The include file <bsd.obj.mk> handles creating 'obj' directory
4# and cleaning up object files, log files etc.
5#
6#
7# +++ variables +++
8#
9# BSDSRCDIR The real path to the system sources, so that 'make obj'
10# will work correctly. [/usr/src]
11#
12# BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj'
13# will work correctly. [/usr/obj]
14#
15# CLEANFILES Additional files to remove for the clean and cleandir targets.
16#
15# MAKEOBJDIR A file name to the directory where the targets
17# MAKEOBJDIR A file name to the directory where the targets
16# are built. [obj]
18# are built. Note: MAKEOBJDIR is an *enviroment* variable
19# and does work proper only if set as enviroment variable,
20# not as global or command line variable! [obj]
17#
21#
22# E.g. use `env MAKEOBJDIR=obj-amd make'
23#
18# NOOBJ Do not create 'obj' directory if defined. [not set]
19#
20# NOOBJLINK Create 'obj' directory in current directory instead
21# a symbolic link to the 'obj' tree if defined. [not set]
22#
23#
24# +++ targets +++
25#
26# clean:
27# remove a.out Errs errs mklog ${CLEANFILES}
28#
29# cleandir:
30# remove all of the files removed by the target clean,
31# cleandepend (see bsd.dep.mk) and 'obj' directory.
32#
33# obj:
34# create 'obj' directory.
35#
36
37
38.if defined(MAKEOBJDIR) && !empty(MAKEOBJDIR)
39__objdir = ${MAKEOBJDIR}
40.else
41
42.if defined(MACHINE) && !empty(MACHINE)
43__objdir = obj # obj.${MACHINE}
44.else
45__objdir = obj
46.endif
47.endif
48
49
50.if !target(obj)
51.if defined(NOOBJ)
52obj:
53.else
54
55obj: _SUBDIRUSE cleanobj
56.if defined(NOOBJLINK)
57 mkdir ${.CURDIR}/${__objdir}
58.else
59 @if test -d ${BSDOBJDIR}; then \
60 cd ${.CURDIR}; here=${.CURDIR}; \
61 dest=${BSDOBJDIR}`echo $$here | \
62 sed "s,^${BSDSRCDIR},,"`/${__objdir}; \
63 ${ECHO} "$$here/${__objdir} -> $$dest"; \
64 ln -s $$dest ${__objdir}; \
65 if test ! -d $$dest; then \
66 mkdir -p $$dest; \
67 fi; \
68 else \
69 ${ECHO} "obj tree \"${BSDOBJDIR}\" does not exist."; \
70 fi
71.endif
72.endif
73.endif
74
75#
76# cleanup
77#
78cleanobj:
79 rm -f -r ${.CURDIR}/${__objdir}
80
81cleanfiles:
82 rm -f a.out Errs errs mklog ${CLEANFILES}
83
84# see bsd.dep.mk
85.if !target(cleandepend)
86cleandepend:
87.endif
88
89.if !target(clean)
90clean: _SUBDIRUSE cleanfiles
91.endif
92
93cleandir: _SUBDIRUSE cleanfiles cleandepend cleanobj
24# NOOBJ Do not create 'obj' directory if defined. [not set]
25#
26# NOOBJLINK Create 'obj' directory in current directory instead
27# a symbolic link to the 'obj' tree if defined. [not set]
28#
29#
30# +++ targets +++
31#
32# clean:
33# remove a.out Errs errs mklog ${CLEANFILES}
34#
35# cleandir:
36# remove all of the files removed by the target clean,
37# cleandepend (see bsd.dep.mk) and 'obj' directory.
38#
39# obj:
40# create 'obj' directory.
41#
42
43
44.if defined(MAKEOBJDIR) && !empty(MAKEOBJDIR)
45__objdir = ${MAKEOBJDIR}
46.else
47
48.if defined(MACHINE) && !empty(MACHINE)
49__objdir = obj # obj.${MACHINE}
50.else
51__objdir = obj
52.endif
53.endif
54
55
56.if !target(obj)
57.if defined(NOOBJ)
58obj:
59.else
60
61obj: _SUBDIRUSE cleanobj
62.if defined(NOOBJLINK)
63 mkdir ${.CURDIR}/${__objdir}
64.else
65 @if test -d ${BSDOBJDIR}; then \
66 cd ${.CURDIR}; here=${.CURDIR}; \
67 dest=${BSDOBJDIR}`echo $$here | \
68 sed "s,^${BSDSRCDIR},,"`/${__objdir}; \
69 ${ECHO} "$$here/${__objdir} -> $$dest"; \
70 ln -s $$dest ${__objdir}; \
71 if test ! -d $$dest; then \
72 mkdir -p $$dest; \
73 fi; \
74 else \
75 ${ECHO} "obj tree \"${BSDOBJDIR}\" does not exist."; \
76 fi
77.endif
78.endif
79.endif
80
81#
82# cleanup
83#
84cleanobj:
85 rm -f -r ${.CURDIR}/${__objdir}
86
87cleanfiles:
88 rm -f a.out Errs errs mklog ${CLEANFILES}
89
90# see bsd.dep.mk
91.if !target(cleandepend)
92cleandepend:
93.endif
94
95.if !target(clean)
96clean: _SUBDIRUSE cleanfiles
97.endif
98
99cleandir: _SUBDIRUSE cleanfiles cleandepend cleanobj