1.include <bsd.init.mk> 2 3# Hint HOST_CCVER handling. 4__USE_HOST_CCVER= 5 6.SUFFIXES: .out .nx .no .c .cc .cpp .cxx .C .m .y .l .s .S 7 8.if defined(PROG_CXX) 9PROG= ${PROG_CXX} 10.endif 11 12.if !defined(SRCS) 13.if defined(PROG_CXX) 14SRCS= ${PROG}.cc 15.else 16SRCS= ${PROG}.c 17.endif 18.endif 19 20all: 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} != "" 26OBJCLIBS?= -lobjc 27LDADD+= ${OBJCLIBS} 28.endif 29 30OBJS+= ${SRCS:N*.h:N*.patch:R:S/$/.no/g} 31.for _PATCH in ${SRCS:T:N*.h.patch:M*.patch} 32.for _OBJ in ${_PATCH:R:R:S/$/.no/} 33OBJS:= ${OBJS:N${_OBJ}} ${_OBJ} 34.endfor 35.endfor 36 37${PROG}.nx: ${OBJS} 38.if defined(PROG_CXX) 39 ${NXCXX_LINK} ${NXCXXFLAGS} ${NXLDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} 40.else 41 ${NXCC_LINK} ${NXCFLAGS} ${NXLDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} 42.endif 43.endif 44 45CLEANFILES+= ${PROG}.nx ${OBJS} 46 47all: ${PROG}.nx 48 49_EXTRADEPEND: 50 sed -i '' -Ee 's/^([^.]+)\.o:/\1.no:/' ${DEPENDFILE} 51 echo ${PROG}.nx: ${LIBC} ${DPADD} >> ${DEPENDFILE} 52.if defined(PROG_CXX) 53 echo ${PROG}.nx: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE} 54.endif 55 56# header files are often generated by .nx binaries. All .nx binaries must 57# be built in the depend stage so the related header files can be generated 58# 59afterdepend: all 60 61.include <bsd.dep.mk> 62 63.if defined(PROG) && !exists(${.OBJDIR}/${DEPENDFILE}) 64${OBJS}: ${SRCS:M*.h} 65.endif 66 67.include <bsd.obj.mk> 68 69.include <bsd.sys.mk> 70