bsd.*.mk: allow the setting of separate compile flags for files
[dragonfly.git] / share / mk / bsd.cpu.mk
blobfcad0d78c25ce261a62b31bc7d31bd0676dd1a43
1 # $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.2.2.5 2002/07/19 08:09:32 ru Exp $
2 # $DragonFly: src/share/mk/bsd.cpu.mk,v 1.16 2007/09/26 22:14:17 dillon Exp $
4 # include compiler-specific bsd.cpu.mk. Note that CCVER may or may not
5 # be passed as an environment variable. If not set we make it consistent
6 # within make but do not otherwise export it.
8 # _CCVER is used to detect changes to CCVER made in Makefile's after the
9 # fact.
11 # HOST_CCVER is used by the native system compiler and defaults to CCVER.
12 # It is not subject to local CCVER overrides in Makefiles and it is inherited
13 # by all sub-makes.
15 # If the host system does not have the desired compiler for HOST_CCVER
16 # we back off to something it probably does have.
18 CCVER ?= gcc41
19 _CCVER := ${CCVER}
20 .if ${_CCVER} == "gcc34" || ${_CCVER} == "gcc41"
21 .if exists(/usr/libexec/${_CCVER}/cc)
22 HOST_CCVER?= ${_CCVER}
23 .else
24 HOST_CCVER?= gcc34
25 .endif
26 .else
27 .if exists(/usr/libexec/custom/cc)
28 HOST_CCVER?= ${CCVER}
29 .else
30 HOST_CCVER?= gcc34
31 .endif
32 .endif
34 .if ${CCVER} == "gcc34"
35 . include <bsd.cpu.gcc34.mk>
36 .elif ${CCVER} == "gcc41"
37 . include <bsd.cpu.gcc41.mk>
38 .elif defined(CCVER_BSD_CPU_MK)
39 . if ${CCVER_BSD_CPU_MK} != ""
40 . include "${CCVER_BSD_CPU_MK}"
41 . endif
42 .else
43 . include <bsd.cpu.custom.mk>
44 .endif
46 # /usr/bin/cc depend on the CCVER environment variable, make sure CCVER is
47 # exported for /usr/bin/cc and friends. Note that CCVER is unsupported when
48 # cross compiling from 4.x or older versions of DFly and should not be set
49 # by the user.
51 .if defined(.DIRECTIVE_MAKEENV)
52 .makeenv CCVER
53 .makeenv HOST_CCVER
54 .endif
56 # We can reassign _CPUCFLAGS and CFLAGS will evaluate properly to the
57 # new value, we do not have to add the variable to CFLAGS twice.
59 .if !defined(NO_CPU_CFLAGS) && !defined(_CPUCFLAGS_ASSIGNED)
60 _CPUCFLAGS_ASSIGNED=TRUE
61 CFLAGS += ${_CPUCFLAGS}
62 .endif