1# $MirOS: src/usr.bin/make/Makefile,v 1.17 2007/06/21 14:17:06 tg Exp $
2# $OpenBSD: Makefile,v 1.40 2007/03/18 15:37:06 mickey Exp $
3
4.include <bsd.own.mk>
5
6PROG=		make
7CDIAGFLAGS+=	-Wall -W -Wno-char-subscripts -Wstrict-prototypes -pedantic \
8		-Wmissing-prototypes -Werror -Wno-cast-qual
9#CPPFLAGS+=	-DHAS_STATS	# Throw out statistics after running
10CPPFLAGS+=	-DMACHINE=\"${MACHINE}\" -DMACHINE_ARCH=\"${MACHINE_ARCH}\"
11CPPFLAGS+=	-I. -I${.CURDIR}
12
13SRCS=	arch.c buf.c cmd_exec.c compat.c cond.c dir.c error.c for.c \
14	init.c job.c lowparse.c main.c make.c memory.c parse.c \
15	parsevar.c str.c stats.c suff.c targ.c timestamp.c \
16	var.c varmodifiers.c varname.c
17SRCS+=	lstAddNew.c lstAppend.c lstConcat.c lstConcatDestroy.c \
18	lstDeQueue.c lstDestroy.c lstDupl.c lstFindFrom.c lstForEachFrom.c \
19	lstInsert.c lstMember.c lstRemove.c lstReplace.c lstSucc.c
20.PATH:	${.CURDIR}/lst.lib
21
22.ifdef MAKE_BOOTSTRAP
23MKFEATURES?=	-D_PATH_DEFSYSPATH=\"/usr/share/mk\"
24CPPFLAGS+=	-DMACHINE_OS=\"${MACHINE_OS}\" -DMAKE_BOOTSTRAP
25.else
26MKFEATURES?=	-DUSE_TIMESPEC
27.endif
28CPPFLAGS+=	${MKFEATURES} -D_PATH_MIRBSDKSH=\"${MKSH}\" -DIN_MIRMAKE
29
30.if !exists(${MKSH})
31.BEGIN:
32	@echo 'You know, $${MKSH} (${MKSH}) should exist!'
33	@exit 1
34.endif
35
36make.1: ${.CURDIR}/make.1
37	sed -e 's#@@MKSH@@#${MKSH}#g' <$> >$@
38
39CLEANFILES+=	${LIBOBJS} check condhashconsts.h generate.o generate \
40		hashconsts.h libohash.a regress.o varhashconsts.h
41.if ${.OBJDIR} != ${.CURDIR}
42CLEANFILES+=	make.1
43.endif
44
45beforedepend: varhashconsts.h condhashconsts.h
46# may need tweaking if you add variable synonyms or change the hash function
47MAGICVARSLOTS=	82
48MAGICCONDSLOTS=	65
49
50varhashconsts.h: generate
51	${.OBJDIR}/generate 1 ${MAGICVARSLOTS} >$@
52
53condhashconsts.h: generate
54	${.OBJDIR}/generate 2 ${MAGICCONDSLOTS} >$@
55
56generate: generate.c stats.c memory.c ${OHASH_SRCS}
57	${HOSTCC} ${LDSTATIC} -o $@ ${HOSTCFLAGS} ${CPPFLAGS} $> ${LDADD}
58
59check: regress.o str.o memory.o buf.o
60	${CC} -o $@ ${CFLAGS} $> ${LDADD}
61
62regress: check
63	${.OBJDIR}/check
64
65.if make(install)
66SUBDIR+= PSD.doc
67.endif
68
69.PHONY: regress
70
71.include <bsd.prog.mk>
72