Makefile revision 246149
164126Skato# $Id: Makefile,v 1.5 2013/01/28 19:31:58 sjg Exp $ 264126Skato 364126Skato# Base version on src date 464126SkatoMAKE_VERSION= 20130123 564126Skato 664126SkatoPROG= bmake 764126Skato 864126SkatoSRCS= \ 964126Skato arch.c \ 1064126Skato buf.c \ 1164126Skato compat.c \ 1264126Skato cond.c \ 1364126Skato dir.c \ 1464126Skato for.c \ 1564126Skato hash.c \ 1664126Skato job.c \ 1764126Skato main.c \ 1864126Skato make.c \ 1964126Skato make_malloc.c \ 2064126Skato meta.c \ 2164126Skato parse.c \ 2264126Skato str.c \ 2364126Skato strlist.c \ 2464126Skato suff.c \ 2564126Skato targ.c \ 2664126Skato trace.c \ 2764126Skato util.c \ 2864126Skato var.c 2964126Skato 3064126Skato# from lst.lib/ 3164126SkatoSRCS+= \ 3264126Skato lstAppend.c \ 3364126Skato lstAtEnd.c \ 3464126Skato lstAtFront.c \ 3564126Skato lstClose.c \ 3664126Skato lstConcat.c \ 3764126Skato lstDatum.c \ 3864126Skato lstDeQueue.c \ 3964126Skato lstDestroy.c \ 4064126Skato lstDupl.c \ 4164126Skato lstEnQueue.c \ 4264126Skato lstFind.c \ 4364126Skato lstFindFrom.c \ 4464126Skato lstFirst.c \ 4564126Skato lstForEach.c \ 4664126Skato lstForEachFrom.c \ 4764126Skato lstInit.c \ 4864126Skato lstInsert.c \ 4964126Skato lstIsAtEnd.c \ 5064126Skato lstIsEmpty.c \ 5164126Skato lstLast.c \ 5264126Skato lstMember.c \ 5364126Skato lstNext.c \ 5464126Skato lstOpen.c \ 5564126Skato lstPrev.c \ 5664126Skato lstRemove.c \ 5764126Skato lstReplace.c \ 58148049Snyan lstSucc.c 59148049Snyan 60148049Snyan# this file gets generated by configure 6164126Skato.-include "Makefile.config" 62148049Snyan 6364126Skato.if !empty(LIBOBJS) 6464126SkatoSRCS+= ${LIBOBJS:T:.o=.c} 6564126Skato.endif 6664126Skato 6764126Skato# just in case 68148064Snyanprefix?= /usr 6964126Skatosrcdir?= ${.CURDIR} 7064126Skato 7164126SkatoDEFAULT_SYS_PATH?= .../share/mk:${prefix}/share/mk 7264126Skato 7364126SkatoCPPFLAGS+= -DUSE_META 7464126SkatoCFLAGS+= ${CPPFLAGS} 75110678SnyanCFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" 7664126SkatoCFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE 7764126SkatoCFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} 7864126SkatoCOPTS.main.c+= "-DMAKE_VERSION=\"${MAKE_VERSION}\"" 7964126Skato 80110678Snyan# meta mode can be useful even without filemon 81110678SnyanFILEMON_H ?= /usr/include/dev/filemon/filemon.h 82110678Snyan.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" 8364126SkatoCOPTS.meta.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} 84148049Snyan.endif 85148049Snyan 86148064Snyan.PATH: ${srcdir} 87148049Snyan.PATH: ${srcdir}/lst.lib 88148049Snyan 8964126Skato.if make(obj) || make(clean) 90148049SnyanSUBDIR+= unit-tests 9164126Skato.endif 9264126Skato 9364126Skato# start-delete1 for bsd.after-import.mk 9464126Skato# we skip a lot of this when building as part of FreeBSD etc. 9564126Skato 9678715Sdd# list of OS's which are derrived from BSD4.4 9764126SkatoBSD44_LIST= NetBSD FreeBSD OpenBSD DragonFly 9864126Skato# we are... 9964126SkatoOS!= uname -s 10064126Skato# are we 4.4BSD ? 101110678SnyanisBSD44:=${BSD44_LIST:M${OS}} 10264126Skato 10364126Skato.if ${isBSD44} == "" 10464126SkatoMANTARGET= cat 10564126SkatoINSTALL?=${srcdir}/install-sh 10664126Skato.if (${MACHINE} == "sun386") 10764126Skato# even I don't have one of these anymore :-) 10864126SkatoCFLAGS+= -DPORTAR 10964126Skato.elif (${MACHINE} != "sunos") 11064126SkatoSRCS+= sigcompat.c 11164126SkatoCFLAGS+= -DSIGNAL_FLAGS=SA_RESTART 11264126Skato.endif 11364126Skato.else 11464126SkatoMANTARGET?= man 11564126Skato.endif 11664126Skato 11764126Skato# turn this on by default - ignored if we are root 11864126SkatoWITH_INSTALL_AS_USER= 11964126Skato 12064126Skato# supress with -DWITHOUT_* 12164126SkatoOPTIONS_DEFAULT_YES+= \ 12264126Skato AUTOCONF_MK \ 12364126Skato INSTALL_MK \ 12464126Skato PROG_LINK 125126652Snyan 12664126SkatoOPTIONS_DEFAULT_NO+= \ 12764126Skato PROG_VERSION 12864126Skato 12964126Skato# process options now 13064126Skato.include <own.mk> 13164126Skato 13264126Skato.if ${MK_PROG_VERSION} == "yes" 13364126SkatoPROG_NAME= ${PROG}-${MAKE_VERSION} 13464126Skato.if ${MK_PROG_LINK} == "yes" 13564126SkatoSYMLINKS+= ${PROG}-${MAKE_VERSION} ${BINDIR}/${PROG} 13664126Skato.endif 13764126Skato.endif 13864126Skato 13964126SkatoEXTRACT_MAN=no 14064126Skato# end-delete1 14164126Skato 142126652SnyanMAN= ${PROG}.1 14364126SkatoMAN1= ${MAN} 144174764Simp 14564126Skato.if (${PROG} != "make") 14664126SkatoCLEANFILES+= my.history 14764126Skato.if make(${MAN}) || !exists(${srcdir}/${MAN}) 14864126Skatomy.history: ${MAKEFILE} 14964126Skato @(echo ".Nm"; \ 15064126Skato echo "is derived from NetBSD"; \ 15164126Skato echo ".Xr make 1 ."; \ 15264126Skato echo "It uses autoconf to facilitate portability to other platforms."; \ 15364126Skato echo ".Pp") > $@ 15464126Skato 15564126Skato.NOPATH: ${MAN} 15664126Skato${MAN}: make.1 my.history 15764126Skato @echo making $@ 15864126Skato @sed -e 's/^.Nx/NetBSD/' -e '/^.Nm/s/make/${PROG}/' \ 159110678Snyan -e '/^.Sh HISTORY/rmy.history' \ 16064126Skato -e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@ 16164126Skato 16264126Skatoall beforeinstall: ${MAN} 16364126Skato_mfromdir=. 16464126Skato.endif 16564126Skato.endif 16664126Skato 16764126SkatoMANTARGET?= cat 16864126SkatoMANDEST?= ${MANDIR}/${MANTARGET}1 16964126Skato 17064126Skato.if ${MANTARGET} == "cat" 17164126Skato_mfromdir=${srcdir} 17264126Skato.endif 17364126Skato 17464126Skato.include <prog.mk> 17564126Skato 17664126SkatoCPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H 17764126SkatoCOPTS.var.c += -Wno-cast-qual 17864126SkatoCOPTS.job.c += -Wno-format-nonliteral 17964126SkatoCOPTS.parse.c += -Wno-format-nonliteral 18064126SkatoCOPTS.var.c += -Wno-format-nonliteral 18164126Skato 18264126Skato# Force these 18364126SkatoSHAREDIR= ${prefix}/share 18464126SkatoBINDIR= ${prefix}/bin 18564126SkatoMANDIR= ${SHAREDIR}/man 18664126Skato 18764126Skato.if !exists(.depend) 18864126Skato${OBJS}: config.h 18964126Skato.endif 19064126Skato.if ${MK_AUTOCONF_MK} == "yes" 19164126Skato.include <autoconf.mk> 19264126Skato.endif 19364126Skato 19464126Skato# make sure that MAKE_VERSION gets updated. 19564126Skatomain.o: ${SRCS} ${MAKEFILE} 19664126Skato 19764126Skato# start-delete2 for bsd.after-import.mk 19864126SkatoSHARE_MK?=${SHAREDIR}/mk 19964126SkatoMKSRC=${srcdir}/mk 20064126SkatoINSTALL?=${srcdir}/install-sh 20164126Skato 20264126Skato.if ${MK_INSTALL_MK} == "yes" 20364126Skatoinstall: install-mk 20464126Skato.endif 20564126Skato 20664126Skatobeforeinstall: 20764126Skato test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m 775 -d ${DESTDIR}${BINDIR} 20864126Skato test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m 775 -d ${DESTDIR}${MANDEST} 20964126Skato 21064126Skatoinstall-mk: 21164126Skato.if exists(${MKSRC}/install-mk) 21264126Skato test -d ${DESTDIR}${SHARE_MK} || ${INSTALL} -m 775 -d ${DESTDIR}${SHARE_MK} 21364126Skato sh ${MKSRC}/install-mk -v -m 644 ${DESTDIR}${SHARE_MK} 21464126Skato.else 21564126Skato @echo need to unpack mk.tar.gz under ${srcdir} or set MKSRC; false 216110678Snyan.endif 217110678Snyan# end-delete2 218110678Snyan 21964126Skato# A simple unit-test driver to help catch regressions 22064126Skatoaccept test: 221148049Snyan cd ${.CURDIR}/unit-tests && MAKEFLAGS= ${.MAKE} -r -m / TEST_MAKE=${TEST_MAKE:U${.OBJDIR}/${PROG:T}} ${.TARGET} 222148049Snyan