dhcpcd: update README.DRAGONFLY
[dragonfly.git] / share / mk / bsd.hostprog.mk
blobaf3f2f22a68166b65c9f822c0a15d09b49fc0693
1 .include <bsd.init.mk>
3 # Hint HOST_CCVER handling.
4 __USE_HOST_CCVER=
5 NO_WERROR=
7 .SUFFIXES: .out .nx .no .c .cc .cpp .cxx .C .m .y .l .s .S
9 .if defined(PROG_CXX)
10 PROG= ${PROG_CXX}
11 .endif
13 .if !defined(SRCS)
14 .if defined(PROG_CXX)
15 SRCS= ${PROG}.cc
16 .else
17 SRCS= ${PROG}.c
18 .endif
19 .endif
21 all: objwarn ${PROG}.nx
23 .if defined(PROG)
25 # If there are Objective C sources, link with Objective C libraries.
26 .if ${SRCS:M*.m} != ""
27 OBJCLIBS?= -lobjc
28 LDADD+= ${OBJCLIBS}
29 .endif
31 OBJS+= ${SRCS:N*.h:R:S/$/.no/g}
33 ${PROG}.nx: ${OBJS}
34 .if defined(PROG_CXX)
35 ${NXCXX_LINK} ${NXCXXFLAGS} ${NXLDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
36 .else
37 ${NXCC_LINK} ${NXCFLAGS} ${NXLDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
38 .endif
39 .endif
41 CLEANFILES+= ${PROG}.nx ${OBJS}
43 all: ${PROG}.nx
45 _EXTRADEPEND:
46 sed -i '' -Ee 's/^([^.]+)\.o:/\1.no:/' ${DEPENDFILE}
47 echo ${PROG}.nx: ${LIBC} ${DPADD} >> ${DEPENDFILE}
48 .if defined(PROG_CXX)
49 echo ${PROG}.nx: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
50 .endif
52 # header files are often generated by .nx binaries. All .nx binaries must
53 # be built in the depend stage so the related header files can be generated
55 afterdepend: all
57 .include <bsd.dep.mk>
59 .if defined(PROG) && !exists(${.OBJDIR}/${DEPENDFILE})
60 ${OBJS}: ${SRCS:M*.h}
61 .endif
63 .include <bsd.obj.mk>
65 .include <bsd.sys.mk>