1 # $Id: Makefile,v 1.72 2016/08/18 23:02:26 sjg Exp $
3 # Base version on src date
4 _MAKE_VERSION
= 20160818
61 # this file gets generated by configure
62 .
-include "Makefile.config"
65 SRCS
+= ${LIBOBJS
:T
:.o
=.c
}
72 DEFAULT_SYS_PATH?
= ${prefix}/share
/mk
76 CFLAGS
+= -D_PATH_DEFSYSPATH
=\"${DEFAULT_SYS_PATH}\"
77 CFLAGS
+= -I.
-I
${srcdir} ${XDEFS} -DMAKE_NATIVE
78 CFLAGS
+= ${COPTS.
${.ALLSRC
:M
*.c
:T
:u
}}
79 COPTS.main.c
+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\""
81 # meta mode can be useful even without filemon
82 FILEMON_H ?
= /usr
/include/dev
/filemon
/filemon.h
83 .if exists
(${FILEMON_H}) && ${FILEMON_H
:T
} == "filemon.h"
84 COPTS.meta.c
+= -DHAVE_FILEMON_H
-I
${FILEMON_H
:H
}
88 .PATH
: ${srcdir}/lst.lib
90 .if make
(obj
) || make
(clean)
94 # start-delete1 for bsd.after-import.mk
95 # we skip a lot of this when building as part of FreeBSD etc.
97 # list of OS's which are derrived from BSD4.4
98 BSD44_LIST
= NetBSD FreeBSD OpenBSD DragonFly MirBSD Bitrig
102 isBSD44
:=${BSD44_LIST
:M
${OS}}
106 INSTALL?
=${srcdir}/install-sh
107 .if
(${MACHINE} == "sun386")
108 # even I don't have one of these anymore :-)
110 .elif
(${MACHINE} != "sunos")
112 CFLAGS
+= -DSIGNAL_FLAGS
=SA_RESTART
118 # turn this on by default - ignored if we are root
119 WITH_INSTALL_AS_USER
=
121 # suppress with -DWITHOUT_*
122 OPTIONS_DEFAULT_YES
+= \
127 OPTIONS_DEFAULT_NO
+= \
130 # process options now
133 .if
${MK_PROG_VERSION} == "yes"
134 PROG_NAME
= ${PROG}-${_MAKE_VERSION}
135 .if
${MK_PROG_LINK} == "yes"
136 SYMLINKS
+= ${PROG_NAME} ${BINDIR}/${PROG}
146 .if
(${PROG} != "make")
147 CLEANFILES
+= my.history
148 .if make
(${MAN}) ||
!exists
(${srcdir}/${MAN})
149 my.history
: ${MAKEFILE}
151 echo
"is derived from NetBSD"; \
152 echo
".Xr make 1 ."; \
153 echo
"It uses autoconf to facilitate portability to other platforms."; \
157 ${MAN}: make
.1 my.history
159 @sed
-e
's/^.Nx/NetBSD/' -e
'/^.Nm/s/make/${PROG}/' \
160 -e
'/^.Sh HISTORY/rmy.history' \
161 -e
'/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make
.1 > $@
163 all beforeinstall
: ${MAN}
169 MANDEST?
= ${MANDIR}/${MANTARGET}1
171 .if
${MANTARGET} == "cat"
177 CPPFLAGS
+= -DMAKE_NATIVE
-DHAVE_CONFIG_H
178 COPTS.var.c
+= -Wno-cast-qual
179 COPTS.job.c
+= -Wno-format-nonliteral
180 COPTS.parse.c
+= -Wno-format-nonliteral
181 COPTS.var.c
+= -Wno-format-nonliteral
184 SHAREDIR
= ${SHAREDIR.bmake
:U
${prefix}/share
}
185 BINDIR
= ${BINDIR.bmake
:U
${prefix}/bin
}
186 MANDIR
= ${MANDIR.bmake
:U
${SHAREDIR}/man
}
192 # make sure that MAKE_VERSION gets updated.
193 main.o
: ${SRCS} ${MAKEFILE}
195 # start-delete2 for bsd.after-import.mk
196 .if
${MK_AUTOCONF_MK} == "yes"
197 .
include <autoconf.mk
>
199 SHARE_MK?
=${SHAREDIR}/mk
201 INSTALL?
=${srcdir}/install-sh
203 .if
${MK_INSTALL_MK} == "yes"
208 test -d
${DESTDIR}${BINDIR} ||
${INSTALL} -m
775 -d
${DESTDIR}${BINDIR}
209 test -d
${DESTDIR}${MANDEST} ||
${INSTALL} -m
775 -d
${DESTDIR}${MANDEST}
212 .if exists
(${MKSRC}/install-mk
)
213 test -d
${DESTDIR}${SHARE_MK} ||
${INSTALL} -m
775 -d
${DESTDIR}${SHARE_MK}
214 sh
${MKSRC}/install-mk
-v
-m
644 ${DESTDIR}${SHARE_MK}
216 @echo need to unpack mk.
tar.gz under
${srcdir} or set MKSRC
; false
220 # A simple unit-test driver to help catch regressions
222 cd
${.CURDIR
}/unit-tests
&& MAKEFLAGS
= ${.MAKE
} -r
-m
/ TEST_MAKE
=${TEST_MAKE
:U
${.OBJDIR
}/${PROG
:T
}} ${.TARGET
}