]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/mk/init.mk
Merge bmake-20200517
[FreeBSD/FreeBSD.git] / contrib / bmake / mk / init.mk
1 # $Id: init.mk,v 1.16 2019/09/28 16:54:02 sjg Exp $
2 #
3 #       @(#) Copyright (c) 2002, Simon J. Gerraty
4 #
5 #       This file is provided in the hope that it will
6 #       be of use.  There is absolutely NO WARRANTY.
7 #       Permission to copy, redistribute or otherwise
8 #       use this file is hereby granted provided that 
9 #       the above copyright notice and this notice are
10 #       left intact. 
11 #      
12 #       Please send copies of changes and bug-fixes to:
13 #       sjg@crufty.net
14 #
15
16 .if !target(__${.PARSEFILE}__)
17 __${.PARSEFILE}__:
18
19 .if ${MAKE_VERSION:U0} > 20100408
20 _this_mk_dir := ${.PARSEDIR:tA}
21 .else
22 _this_mk_dir := ${.PARSEDIR}
23 .endif
24
25 .-include <local.init.mk>
26 .-include <${.CURDIR:H}/Makefile.inc>
27 .include <own.mk>
28 .include <compiler.mk>
29
30 .MAIN:          all
31
32 # should have been set by sys.mk
33 CXX_SUFFIXES?= .cc .cpp .cxx .C
34
35 .if !empty(WARNINGS_SET) || !empty(WARNINGS_SET_${MACHINE_ARCH})
36 .include <warnings.mk>
37 .endif
38
39 .for x in COPTS CPPFLAGS CPUFLAGS LDFLAGS
40 $x += ${$x.${COMPILER_TYPE}:U} ${$x.${.IMPSRC:T}:U}
41 .endfor
42
43 CC_PG?= -pg
44 CXX_PG?= ${CC_PG}
45 CC_PIC?= -DPIC
46 CXX_PIC?= ${CC_PIC}
47 PROFFLAGS?= -DGPROF -DPROF
48
49 .if ${.MAKE.LEVEL:U1} == 0 && ${BUILD_AT_LEVEL0:Uyes:tl} == "no"
50 # this tells lib.mk and prog.mk to not actually build anything
51 _SKIP_BUILD = not building at level 0
52 .endif
53
54 .if !defined(.PARSEDIR)
55 # no-op is the best we can do if not bmake.
56 .WAIT:
57 .endif
58
59 # define this once for consistency
60 .if empty(_SKIP_BUILD)
61 # beforebuild is a hook for things that must be done early
62 all: beforebuild .WAIT realbuild
63 .else
64 all: .PHONY
65 .warning ${_SKIP_BUILD}
66 .endif
67 beforebuild:
68 realbuild:
69
70 .endif