Don't include _CPUCFLAGS since the host compiler (aka NXCC) might not
[dragonfly.git] / share / mk / bsd.hostprog.mk
1 # $DragonFly: src/share/mk/bsd.hostprog.mk,v 1.3 2004/06/20 20:41:07 joerg Exp $
2
3 .include <bsd.init.mk>
4
5 _CPUCLAGS=
6 .SUFFIXES: .out .nx .no .c .cc .cpp .cxx .C .m .y .l .s .S
7
8 .if defined(PROG_CXX)
9 PROG=   ${PROG_CXX}
10 .endif
11
12 .if !defined(SRCS)
13 .if defined(PROG_CXX)
14 SRCS=   ${PROG}.cc
15 .else
16 SRCS=   ${PROG}.c
17 .endif
18 .endif
19
20 all: objwarn ${PROG}.nx
21
22 .if defined(PROG)
23
24 # If there are Objective C sources, link with Objective C libraries.
25 .if ${SRCS:M*.m} != ""
26 OBJCLIBS?= -lobjc
27 LDADD+= ${OBJCLIBS}
28 .endif
29
30 OBJS+=  ${SRCS:N*.h:N*.patch:R:S/$/.no/g}
31 _PATCHES= ${SRCS:M*.patch}
32 .for _PATCH in ${SRCS:T:N*.h.patch:M*.patch}
33 .for _OBJ in ${_PATCH:R:R:S/$/.no/}
34 OBJS:=  ${OBJS:N${_OBJ}} ${_OBJ}
35 .endfor
36 .endfor
37 .undef _PATCHES
38
39 ${PROG}.nx: ${OBJS}
40 .if defined(PROG_CXX)
41         ${NXCXX} ${NXCXXFLAGS} ${NXLDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
42 .else
43         ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
44 .endif
45 .endif
46
47 CLEANFILES+= ${PROG}.nx ${OBJS}
48
49 all: ${PROG}.nx
50
51 _EXTRADEPEND:
52         echo ${PROG}.nx: ${LIBC} ${DPADD} >> ${DEPENDFILE}
53 .if defined(PROG_CXX)
54         echo ${PROG}.nx: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
55 .endif
56
57 .include <bsd.dep.mk>
58
59 .if defined(PROG) && !exists(${.OBJDIR}/${DEPENDFILE})
60 ${OBJS}: ${SRCS:M*.h}
61 .endif
62
63 .include <bsd.obj.mk>
64
65 .include <bsd.sys.mk>