aboutsummaryrefslogtreecommitdiff
path: root/pmake.hack/bsd.prog.mk
diff options
context:
space:
mode:
Diffstat (limited to 'pmake.hack/bsd.prog.mk')
-rw-r--r--pmake.hack/bsd.prog.mk202
1 files changed, 202 insertions, 0 deletions
diff --git a/pmake.hack/bsd.prog.mk b/pmake.hack/bsd.prog.mk
new file mode 100644
index 0000000..d0c86ba
--- /dev/null
+++ b/pmake.hack/bsd.prog.mk
@@ -0,0 +1,202 @@
+# $NetBSD: bsd.prog.mk,v 1.100 1999/02/12 01:10:08 lukem Exp $
+# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
+
+.if !target(__initialized__)
+__initialized__:
+.if exists(${.CURDIR}/../Makefile.inc)
+.include "${.CURDIR}/../Makefile.inc"
+.endif
+.include <bsd.own.mk>
+.include <bsd.obj.mk>
+.MAIN: all
+.endif
+
+.PHONY: cleanprog proginstall scriptsinstall
+realinstall: proginstall scriptsinstall
+clean cleandir distclean: cleanprog
+
+CFLAGS+= ${COPTS}
+
+# ELF platforms depend on crtbegin.o and crtend.o
+.if ${OBJECT_FMT} == "ELF"
+LIBCRTBEGIN?= ${DESTDIR}/usr/lib64/crtbegin.o
+LIBCRTEND?= ${DESTDIR}/usr/lib64/crtend.o
+.else
+LIBCRTBEGIN?=
+LIBCRTEND?=
+.endif
+
+LIBCRT0?=
+
+LIBBZ2?= ${DESTDIR}/usr/lib64/libbz2.a
+LIBC?= ${DESTDIR}/usr/lib64/libc.a
+LIBC_PIC?= ${DESTDIR}/usr/lib64/libc_pic.a
+LIBCOMPAT?= ${DESTDIR}/usr/lib64/libcompat.a
+LIBCRYPT?= ${DESTDIR}/usr/lib64/libcrypt.a
+LIBCURSES?= ${DESTDIR}/usr/lib64/libcurses.a
+LIBDBM?= ${DESTDIR}/usr/lib64/libdbm.a
+LIBDES?= ${DESTDIR}/usr/lib64/libdes.a
+LIBEDIT?= ${DESTDIR}/usr/lib64/libedit.a
+LIBGCC?= ${DESTDIR}/usr/lib64/libgcc.a
+LIBGNUMALLOC?= ${DESTDIR}/usr/lib64/libgnumalloc.a
+LIBKDB?= ${DESTDIR}/usr/lib64/libkdb.a
+LIBKRB?= ${DESTDIR}/usr/lib64/libkrb.a
+LIBKVM?= ${DESTDIR}/usr/lib64/libkvm.a
+LIBL?= ${DESTDIR}/usr/lib64/libl.a
+LIBM?= ${DESTDIR}/usr/lib64/libm.a
+LIBMP?= ${DESTDIR}/usr/lib64/libmp.a
+LIBNTP?= ${DESTDIR}/usr/lib64/libntp.a
+LIBOBJC?= ${DESTDIR}/usr/lib64/libobjc.a
+LIBPC?= ${DESTDIR}/usr/lib64/libpc.a
+LIBPCAP?= ${DESTDIR}/usr/lib64/libpcap.a
+LIBPLOT?= ${DESTDIR}/usr/lib64/libplot.a
+LIBPOSIX?= ${DESTDIR}/usr/lib64/libposix.a
+LIBRESOLV?= ${DESTDIR}/usr/lib64/libresolv.a
+LIBRPCSVC?= ${DESTDIR}/usr/lib64/librpcsvc.a
+LIBSKEY?= ${DESTDIR}/usr/lib64/libskey.a
+LIBTERMCAP?= ${DESTDIR}/usr/lib64/libtermcap.a
+LIBTELNET?= ${DESTDIR}/usr/lib64/libtelnet.a
+LIBUTIL?= ${DESTDIR}/usr/lib64/libutil.a
+LIBWRAP?= ${DESTDIR}/usr/lib64/libwrap.a
+LIBY?= ${DESTDIR}/usr/lib64/liby.a
+LIBZ?= ${DESTDIR}/usr/lib64/libz.a
+
+.if defined(SHAREDSTRINGS)
+CLEANFILES+=strings
+.c.o:
+ ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c -
+ @${CC} ${CFLAGS} -c x.c -o ${.TARGET}
+ @rm -f x.c
+
+.cc.o:
+ ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
+ @mv -f x.c x.cc
+ @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET}
+ @rm -f x.cc
+
+.C.o:
+ ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
+ @mv -f x.c x.C
+ @${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET}
+ @rm -f x.C
+.endif
+
+
+.if defined(PROG)
+SRCS?= ${PROG}.c
+
+DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
+CLEANFILES+= ${DPSRCS}
+.if defined(YHEADER)
+CLEANFILES+= ${SRCS:M*.y:.y=.h}
+.endif
+
+.if !empty(SRCS:N*.h:N*.sh)
+OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g}
+LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
+.endif
+
+.if defined(OBJS) && !empty(OBJS)
+.NOPATH: ${OBJS}
+.if defined(DESTDIR)
+
+${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD}
+ ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${LIBCRTEND}
+
+.else
+
+${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD}
+ ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
+
+.endif # defined(DESTDIR)
+.endif # defined(OBJS) && !empty(OBJS)
+
+.if !defined(MAN)
+MAN= ${PROG}.1
+.endif # !defined(MAN)
+.endif # defined(PROG)
+
+all: ${PROG}
+
+cleanprog:
+ rm -f a.out [Ee]rrs mklog core *.core \
+ ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
+
+.if defined(SRCS)
+afterdepend: .depend
+ @(TMP=/tmp/_depend$$$$; \
+ sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \
+ < .depend > $$TMP; \
+ mv $$TMP .depend)
+.endif
+
+.if defined(PROG) && !target(proginstall)
+PROGNAME?= ${PROG}
+proginstall:: ${DESTDIR}${BINDIR}/${PROGNAME}
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${BINDIR}/${PROGNAME}
+.endif
+.if !defined(BUILD)
+${DESTDIR}${BINDIR}/${PROGNAME}: .MADE
+.endif
+
+.PRECIOUS: ${DESTDIR}${BINDIR}/${PROGNAME}
+${DESTDIR}${BINDIR}/${PROGNAME}: ${PROG}
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} \
+ -g ${BINGRP} -m ${BINMODE} ${.ALLSRC} ${.TARGET}
+.endif
+
+.if !target(proginstall)
+proginstall::
+.endif
+
+.if defined(SCRIPTS) && !target(scriptsinstall)
+SCRIPTSDIR?=${BINDIR}
+SCRIPTSOWN?=${BINOWN}
+SCRIPTSGRP?=${BINGRP}
+SCRIPTSMODE?=${BINMODE}
+.for S in ${SCRIPTS}
+SCRIPTSDIR_${S}?=${SCRIPTSDIR}
+SCRIPTSOWN_${S}?=${SCRIPTSOWN}
+SCRIPTSGRP_${S}?=${SCRIPTSGRP}
+SCRIPTSMODE_${S}?=${SCRIPTSMODE}
+.if defined(SCRIPTSNAME)
+SCRIPTSNAME_${S} ?= ${SCRIPTSNAME}
+.else
+SCRIPTSNAME_${S} ?= ${S:T:R}
+.endif
+SCRIPTSDIR_${S} ?= ${SCRIPTSDIR}
+scriptsinstall:: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
+.if !defined(UPDATE)
+.PHONY: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
+.endif
+.if !defined(BUILD)
+${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: .MADE
+.endif
+
+.PRECIOUS: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
+${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S}
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${SCRIPTSOWN_${S}} -g \
+ ${SCRIPTSGRP_${S}} -m ${SCRIPTSMODE_${S}} ${.ALLSRC} ${.TARGET}
+.endfor
+.endif
+
+.if !target(scriptsinstall)
+scriptsinstall::
+.endif
+
+lint: ${LOBJS}
+.if defined(LOBJS) && !empty(LOBJS)
+ ${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD}
+.endif
+
+.include <bsd.man.mk>
+.include <bsd.nls.mk>
+.include <bsd.files.mk>
+.include <bsd.inc.mk>
+.include <bsd.links.mk>
+.include <bsd.dep.mk>
+.include <bsd.sys.mk>
+
+# Make sure all of the standard targets are defined, even if they do nothing.
+regress: