version 1.140, 2001/11/14 21:49:53 |
version 1.153, 2002/02/07 07:43:24 |
|
|
.include <bsd.init.mk> |
.include <bsd.init.mk> |
|
|
##### Basic targets |
##### Basic targets |
.PHONY: cleanprog proginstall scriptsinstall |
.PHONY: cleanextra cleanobjs cleanprog proginstall scriptsinstall |
realinstall: proginstall scriptsinstall |
realinstall: proginstall scriptsinstall |
clean: cleanprog |
clean: cleanprog |
|
|
##### Default values |
##### Default values |
CPPFLAGS+= ${DESTDIR:D-nostdinc -isystem ${DESTDIR}/usr/include} |
CPPFLAGS+= ${DESTDIR:D-nostdinc ${CPPFLAG_ISYSTEM} ${DESTDIR}/usr/include} |
|
CXXFLAGS+= ${DESTDIR:D-nostdinc++ ${CPPFLAG_ISYSTEM} ${DESTDIR}/usr/include/g++} |
CFLAGS+= ${COPTS} |
CFLAGS+= ${COPTS} |
|
|
# ELF platforms depend on crtbegin.o and crtend.o |
# ELF platforms depend on crtbegin.o and crtend.o |
.if ${OBJECT_FMT} == "ELF" |
.if ${OBJECT_FMT} == "ELF" |
LIBCRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o |
.ifndef LIBCRTBEGIN |
LIBCRTEND?= ${DESTDIR}/usr/lib/crtend.o |
LIBCRTBEGIN= ${DESTDIR}/usr/lib/crtbegin.o |
|
.MADE: ${LIBCRTBEGIN} |
|
.endif |
|
.ifndef LIBCRTEND |
|
LIBCRTEND= ${DESTDIR}/usr/lib/crtend.o |
|
.MADE: ${LIBCRTEND} |
|
.endif |
|
_SHLINKER= ${SHLINKDIR}/ld.elf_so |
.else |
.else |
LIBCRTBEGIN?= |
LIBCRTBEGIN?= |
LIBCRTEND?= |
LIBCRTEND?= |
|
_SHLINKER= ${SHLINKDIR}/ld.so |
.endif |
.endif |
|
|
LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o |
.ifndef LIBCRT0 |
|
LIBCRT0= ${DESTDIR}/usr/lib/crt0.o |
LIBBZ2?= ${DESTDIR}/usr/lib/libbz2.a |
.MADE: ${LIBCRT0} |
LIBC?= ${DESTDIR}/usr/lib/libc.a |
.endif |
LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a |
|
LIBCDK?= ${DESTDIR}/usr/lib/libcdk.a |
##### Installed system library definitions |
LIBCOM_ERR?= ${DESTDIR}/usr/lib/libcom_err.a |
# E.g. LIBC?=${DESTDIR}/usr/lib/libc.a |
LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a |
# etc.. |
LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a |
# |
LIBCRYPTO?= ${DESTDIR}/usr/lib/libcrypto.a |
__bsd_prog_mk_system_libs?= \ |
LIBCRYPTO_RC5?= ${DESTDIR}/usr/lib/libcrypto_rc5.a |
BZ2 C C_PIC CDK COM_ERR COMPAT CRYPT CRYPTO CRYPTO_RC5 CRYPTO_IDEA \ |
LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a |
CURSES DBM DES EDIT FORM GCC GNUMALLOC GSSAPI HDB INTL IPSEC \ |
LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a |
KADM KADM5CLNT KADM5SRV KAFS KDB KRB KRB5 KSTREAM KVM L M MENU \ |
LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a |
OBJC OSSAUDIO PCAP PCI POSIX RESOLV RMT ROKEN RPCSVC SKEY SS SSL SL \ |
LIBDES?= ${DESTDIR}/usr/lib/libdes.a |
TERMCAP TELNET USBHID UTIL WRAP Y Z |
LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a |
|
LIBFORM?= ${DESTDIR}/usr/lib/libform.a |
.for _n in ${__bsd_prog_mk_system_libs} |
LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a |
.ifndef LIB${_n} |
LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a |
LIB${_n}= ${DESTDIR}/usr/lib/lib${_n:tl}.a |
LIBGSSAPI?= ${DESTDIR}/usr/lib/libgssapi.a |
# XXX - note that ${DESTDIR} will expanded in the following rule |
LIBHDB?= ${DESTDIR}/usr/lib/libhdb.a |
.MADE: ${LIB${_n}} |
LIBINTL?= ${DESTDIR}/usr/lib/libintl.a |
.endif |
LIBIPSEC?= ${DESTDIR}/usr/lib/libipsec.a |
.endfor |
LIBKADM?= ${DESTDIR}/usr/lib/libkadm.a |
.undef __bsd_prog_mk_system_libs |
LIBKADM5CLNT?= ${DESTDIR}/usr/lib/libkadm5clnt.a |
|
LIBKADM5SRV?= ${DESTDIR}/usr/lib/libkadm5srv.a |
|
LIBKAFS?= ${DESTDIR}/usr/lib/libkafs.a |
|
LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a |
|
LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a |
|
LIBKRB5?= ${DESTDIR}/usr/lib/libkrb5.a |
|
LIBKSTREAM?= ${DESTDIR}/usr/lib/libkstream.a |
|
LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a |
|
LIBL?= ${DESTDIR}/usr/lib/libl.a |
|
LIBM?= ${DESTDIR}/usr/lib/libm.a |
|
LIBMENU?= ${DESTDIR}/usr/lib/libmenu.a |
|
LIBOBJC?= ${DESTDIR}/usr/lib/libobjc.a |
|
LIBOSSAUDIO?= ${DESTDIR}/usr/lib/libossaudio.a |
|
LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a |
|
LIBPCI?= ${DESTDIR}/usr/lib/libpci.a |
|
LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a |
|
LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a |
|
LIBRMT?= ${DESTDIR}/usr/lib/librmt.a |
|
LIBROKEN?= ${DESTDIR}/usr/lib/libroken.a |
|
LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a |
|
LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a |
|
LIBSS?= ${DESTDIR}/usr/lib/libss.a |
|
LIBSSL?= ${DESTDIR}/usr/lib/libssl.a |
|
LIBSL?= ${DESTDIR}/usr/lib/libsl.a |
|
LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a |
|
LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a |
|
LIBUSB?= ${DESTDIR}/usr/lib/libusb.a |
|
LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a |
|
LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a |
|
LIBY?= ${DESTDIR}/usr/lib/liby.a |
|
LIBZ?= ${DESTDIR}/usr/lib/libz.a |
|
|
|
##### Build and install rules |
##### Build and install rules |
.if defined(SHAREDSTRINGS) |
.if defined(SHAREDSTRINGS) |
Line 98 CLEANFILES+=strings |
|
Line 76 CLEANFILES+=strings |
|
@rm -f x.C |
@rm -f x.C |
.endif |
.endif |
|
|
|
.if defined(PROG_CXX) |
|
PROG= ${PROG_CXX} |
|
.endif |
|
|
.if defined(PROG) |
.if defined(PROG) |
|
.if defined(PROG_CXX) |
|
SRCS?= ${PROG}.cc |
|
.else |
SRCS?= ${PROG}.c |
SRCS?= ${PROG}.c |
|
.endif |
|
|
DPSRCS+= ${SRCS:M*.[ly]:C/..$/.c/} |
DPSRCS+= ${SRCS:M*.[ly]:C/\..$/.c/} |
CLEANFILES+= ${DPSRCS} ${YHEADER:D${SRCS:M*.y:.y=.h}} |
CLEANFILES+= ${DPSRCS} ${YHEADER:D${SRCS:M*.y:.y=.h}} |
|
|
.if !empty(SRCS:N*.h:N*.sh:N*.fth) |
.if !empty(SRCS:N*.h:N*.sh:N*.fth) |
Line 111 LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c= |
|
Line 96 LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c= |
|
.endif |
.endif |
|
|
.if defined(OBJS) && !empty(OBJS) |
.if defined(OBJS) && !empty(OBJS) |
.NOPATH: ${OBJS} ${PROG} ${SRCS:M*.[ly]:C/..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}} |
.NOPATH: ${OBJS} ${PROG} ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}} |
|
|
|
_PROGLDOPTS= |
|
.if ${SHLINKDIR} != "/usr/libexec" # XXX: change or remove if ld.so moves |
|
_PROGLDOPTS+= -Wl,-dynamic-linker=${_SHLINKER} |
|
.endif |
|
.if ${SHLIBDIR} != ${LIBDIR} |
|
_PROGLDOPTS+= -Wl,-rpath-link,${DESTDIR}${SHLIBDIR}:${DESTDIR}/usr/lib \ |
|
-Wl,-rpath,${SHLIBDIR}:/usr/lib \ |
|
-L${DESTDIR}${SHLIBDIR} |
|
.endif |
|
|
|
.if defined(PROG_CXX) |
|
_CCLINK= ${CXX} |
|
_SUPCXX= -lstdc++ -lm |
|
.else |
|
_CCLINK= ${CC} |
|
.endif |
|
|
.if defined(DESTDIR) |
.if defined(DESTDIR) |
|
|
${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
.if !commands(${PROG}) |
.if !commands(${PROG}) |
${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -Wl,-rpath-link,${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -L${DESTDIR}/usr/lib -lgcc -lc -lgcc ${LIBCRTEND} |
${_CCLINK} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib ${_PROGLDOPTS} ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -L${DESTDIR}/usr/lib ${_SUPCXX} -lgcc -lc -lgcc ${LIBCRTEND} |
.endif |
.endif |
|
|
.else |
.else |
|
|
${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
.if !commands(${PROG}) |
.if !commands(${PROG}) |
${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD} |
${_CCLINK} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${_PROGLDOPTS} ${OBJS} ${LDADD} |
.endif |
.endif |
|
|
.endif # defined(DESTDIR) |
.endif # defined(DESTDIR) |