~ubuntu-branches/ubuntu/precise/pmake/precise

« back to all changes in this revision

Viewing changes to mk/bsd.prog.mk

  • Committer: Bazaar Package Importer
  • Author(s): Steve McIntyre
  • Date: 2002-03-12 21:59:55 UTC
  • Revision ID: james.westby@ubuntu.com-20020312215955-i183oxj3rpm464yh
Tags: 1.45-10
* Fixed broken '.Nm ""' directives in the man page. Closes: #137768
* Changed name from "make" to "pmake" in manpage.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#       $NetBSD: bsd.prog.mk,v 1.100 1999/02/12 01:10:08 lukem Exp $
 
2
#       @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
 
3
 
 
4
.if !target(__initialized__)
 
5
__initialized__:
 
6
.if exists(${.CURDIR}/../Makefile.inc)
 
7
.include "${.CURDIR}/../Makefile.inc"
 
8
.endif
 
9
.include <bsd.own.mk>
 
10
.include <bsd.obj.mk>
 
11
.MAIN:          all
 
12
.endif
 
13
 
 
14
.PHONY:         cleanprog proginstall scriptsinstall
 
15
realinstall:    proginstall scriptsinstall
 
16
clean cleandir distclean: cleanprog
 
17
 
 
18
CFLAGS+=        ${COPTS}
 
19
 
 
20
# ELF platforms depend on crtbegin.o and crtend.o
 
21
.if ${OBJECT_FMT} == "ELF"
 
22
LIBCRTBEGIN?=   ${DESTDIR}/usr/lib/crtbegin.o
 
23
LIBCRTEND?=     ${DESTDIR}/usr/lib/crtend.o
 
24
.else
 
25
LIBCRTBEGIN?=
 
26
LIBCRTEND?=
 
27
.endif
 
28
 
 
29
LIBCRT0?=       
 
30
 
 
31
LIBBZ2?=        ${DESTDIR}/usr/lib/libbz2.a
 
32
LIBC?=          ${DESTDIR}/usr/lib/libc.a
 
33
LIBC_PIC?=      ${DESTDIR}/usr/lib/libc_pic.a
 
34
LIBCOMPAT?=     ${DESTDIR}/usr/lib/libcompat.a
 
35
LIBCRYPT?=      ${DESTDIR}/usr/lib/libcrypt.a
 
36
LIBCURSES?=     ${DESTDIR}/usr/lib/libcurses.a
 
37
LIBDBM?=        ${DESTDIR}/usr/lib/libdbm.a
 
38
LIBDES?=        ${DESTDIR}/usr/lib/libdes.a
 
39
LIBEDIT?=       ${DESTDIR}/usr/lib/libedit.a
 
40
LIBGCC?=        ${DESTDIR}/usr/lib/libgcc.a
 
41
LIBGNUMALLOC?=  ${DESTDIR}/usr/lib/libgnumalloc.a
 
42
LIBKDB?=        ${DESTDIR}/usr/lib/libkdb.a
 
43
LIBKRB?=        ${DESTDIR}/usr/lib/libkrb.a
 
44
LIBKVM?=        ${DESTDIR}/usr/lib/libkvm.a
 
45
LIBL?=          ${DESTDIR}/usr/lib/libl.a
 
46
LIBM?=          ${DESTDIR}/usr/lib/libm.a
 
47
LIBMP?=         ${DESTDIR}/usr/lib/libmp.a
 
48
LIBNTP?=        ${DESTDIR}/usr/lib/libntp.a
 
49
LIBOBJC?=       ${DESTDIR}/usr/lib/libobjc.a
 
50
LIBPC?=         ${DESTDIR}/usr/lib/libpc.a
 
51
LIBPCAP?=       ${DESTDIR}/usr/lib/libpcap.a
 
52
LIBPLOT?=       ${DESTDIR}/usr/lib/libplot.a
 
53
LIBPOSIX?=      ${DESTDIR}/usr/lib/libposix.a
 
54
LIBRESOLV?=     ${DESTDIR}/usr/lib/libresolv.a
 
55
LIBRPCSVC?=     ${DESTDIR}/usr/lib/librpcsvc.a
 
56
LIBSKEY?=       ${DESTDIR}/usr/lib/libskey.a
 
57
LIBTERMCAP?=    ${DESTDIR}/usr/lib/libtermcap.a
 
58
LIBTELNET?=     ${DESTDIR}/usr/lib/libtelnet.a
 
59
LIBUTIL?=       ${DESTDIR}/usr/lib/libutil.a
 
60
LIBWRAP?=       ${DESTDIR}/usr/lib/libwrap.a
 
61
LIBY?=          ${DESTDIR}/usr/lib/liby.a
 
62
LIBZ?=          ${DESTDIR}/usr/lib/libz.a
 
63
 
 
64
.if defined(SHAREDSTRINGS)
 
65
CLEANFILES+=strings
 
66
.c.o:
 
67
        ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c -
 
68
        @${CC} ${CFLAGS} -c x.c -o ${.TARGET}
 
69
        @rm -f x.c
 
70
 
 
71
.cc.o:
 
72
        ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
 
73
        @mv -f x.c x.cc
 
74
        @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET}
 
75
        @rm -f x.cc
 
76
 
 
77
.C.o:
 
78
        ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
 
79
        @mv -f x.c x.C
 
80
        @${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET}
 
81
        @rm -f x.C
 
82
.endif
 
83
 
 
84
 
 
85
.if defined(PROG)
 
86
SRCS?=          ${PROG}.c
 
87
 
 
88
DPSRCS+=        ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
 
89
CLEANFILES+=    ${DPSRCS}
 
90
.if defined(YHEADER)
 
91
CLEANFILES+=    ${SRCS:M*.y:.y=.h}
 
92
.endif
 
93
 
 
94
.if !empty(SRCS:N*.h:N*.sh)
 
95
OBJS+=          ${SRCS:N*.h:N*.sh:R:S/$/.o/g}
 
96
LOBJS+=         ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
 
97
.endif
 
98
 
 
99
.if defined(OBJS) && !empty(OBJS)
 
100
.NOPATH: ${OBJS}
 
101
.if defined(DESTDIR)
 
102
 
 
103
${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD}
 
104
        ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${LIBCRTEND}
 
105
 
 
106
.else
 
107
 
 
108
${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD}
 
109
        ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
 
110
 
 
111
.endif  # defined(DESTDIR)
 
112
.endif  # defined(OBJS) && !empty(OBJS)
 
113
 
 
114
.if !defined(MAN)
 
115
MAN=    ${PROG}.1
 
116
.endif  # !defined(MAN)
 
117
.endif  # defined(PROG)
 
118
 
 
119
all: ${PROG}
 
120
 
 
121
cleanprog:
 
122
        rm -f a.out [Ee]rrs mklog core *.core \
 
123
            ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
 
124
 
 
125
.if defined(SRCS)
 
126
afterdepend: .depend
 
127
        @(TMP=/tmp/_depend$$$$; \
 
128
            sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \
 
129
              < .depend > $$TMP; \
 
130
            mv $$TMP .depend)
 
131
.endif
 
132
 
 
133
.if defined(PROG) && !target(proginstall)
 
134
PROGNAME?= ${PROG}
 
135
proginstall:: ${DESTDIR}${BINDIR}/${PROGNAME}
 
136
.if !defined(UPDATE)
 
137
.PHONY: ${DESTDIR}${BINDIR}/${PROGNAME}
 
138
.endif
 
139
.if !defined(BUILD)
 
140
${DESTDIR}${BINDIR}/${PROGNAME}: .MADE
 
141
.endif
 
142
 
 
143
.PRECIOUS: ${DESTDIR}${BINDIR}/${PROGNAME}
 
144
${DESTDIR}${BINDIR}/${PROGNAME}: ${PROG}
 
145
        ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} \
 
146
            -g ${BINGRP} -m ${BINMODE} ${.ALLSRC} ${.TARGET}
 
147
.endif
 
148
 
 
149
.if !target(proginstall)
 
150
proginstall::
 
151
.endif
 
152
 
 
153
.if defined(SCRIPTS) && !target(scriptsinstall)
 
154
SCRIPTSDIR?=${BINDIR}
 
155
SCRIPTSOWN?=${BINOWN}
 
156
SCRIPTSGRP?=${BINGRP}
 
157
SCRIPTSMODE?=${BINMODE}
 
158
.for S in ${SCRIPTS}
 
159
SCRIPTSDIR_${S}?=${SCRIPTSDIR}
 
160
SCRIPTSOWN_${S}?=${SCRIPTSOWN}
 
161
SCRIPTSGRP_${S}?=${SCRIPTSGRP}
 
162
SCRIPTSMODE_${S}?=${SCRIPTSMODE}
 
163
.if defined(SCRIPTSNAME)
 
164
SCRIPTSNAME_${S} ?= ${SCRIPTSNAME}
 
165
.else
 
166
SCRIPTSNAME_${S} ?= ${S:T:R}
 
167
.endif
 
168
SCRIPTSDIR_${S} ?= ${SCRIPTSDIR}
 
169
scriptsinstall:: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
 
170
.if !defined(UPDATE)
 
171
.PHONY: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
 
172
.endif
 
173
.if !defined(BUILD)
 
174
${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: .MADE
 
175
.endif
 
176
 
 
177
.PRECIOUS: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
 
178
${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S}
 
179
        ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${SCRIPTSOWN_${S}} -g \
 
180
            ${SCRIPTSGRP_${S}} -m ${SCRIPTSMODE_${S}} ${.ALLSRC} ${.TARGET}
 
181
.endfor
 
182
.endif
 
183
 
 
184
.if !target(scriptsinstall)
 
185
scriptsinstall::
 
186
.endif
 
187
 
 
188
lint: ${LOBJS}
 
189
.if defined(LOBJS) && !empty(LOBJS)
 
190
        ${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD}
 
191
.endif
 
192
 
 
193
.include <bsd.man.mk>
 
194
.include <bsd.nls.mk>
 
195
.include <bsd.files.mk>
 
196
.include <bsd.inc.mk>
 
197
.include <bsd.links.mk>
 
198
.include <bsd.dep.mk>
 
199
.include <bsd.sys.mk>
 
200
 
 
201
# Make sure all of the standard targets are defined, even if they do nothing.
 
202
regress: