1.include <bsd.init.mk> 2 3# Hint HOST_CCVER handling. 4__USE_HOST_CCVER= 5NO_WERROR= 6 7# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries 8# .So used for PIC object files 9.SUFFIXES: 10.SUFFIXES: .out .no .c .cc .cpp .cxx .C .y .l 11 12.c.no: 13 ${NXCC} ${_${.IMPSRC}_FLAGS} ${NXCFLAGS:N-flto} -c ${.IMPSRC} -o ${.TARGET} 14 @${NXLD} -o ${.TARGET}.tmp -x -r ${.TARGET} 15 @mv ${.TARGET}.tmp ${.TARGET} 16 17.cc.no .C.no .cpp.no .cxx.no: 18 ${NXCXX} ${_${.IMPSRC}_FLAGS} ${NXCXXFLAGS:N-flto} -c ${.IMPSRC} -o ${.TARGET} 19 @${NXLD} -o ${.TARGET}.tmp -x -r ${.TARGET} 20 @mv ${.TARGET}.tmp ${.TARGET} 21 22all: objwarn 23 24.if defined(LIB) && !empty(LIB) 25. if !empty(SRCS) 26OBJS+= ${SRCS:N*.h:N*.patch:R:S/$/.no/g} 27. for _PATCH in ${SRCS:T:N*.no_obj.patch:N*.h.patch:M*.patch} 28. for _OBJ in ${_PATCH:R:R:S/$/.no/} 29OBJS:= ${OBJS:N${_OBJ}} ${_OBJ} 30. endfor 31. endfor 32. endif 33.endif 34 35.if defined(LIB) && !empty(LIB) 36_LIBS= lib${LIB}.na 37 38lib${LIB}.na: ${OBJS} ${STATICOBJS} 39 @${ECHO} building native static ${LIB} library 40 rm -f ${.TARGET} 41 ${NXAR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} 42 ${NXRANLIB} ${.TARGET} 43.endif 44 45all: ${_LIBS} 46 47afterdepend: all 48 49.include <bsd.dep.mk> 50 51.if !exists(${.OBJDIR}/${DEPENDFILE}) 52.if defined(LIB) && !empty(LIB) 53${OBJS} ${STATICOBJS}: ${SRCS:M*.h} 54.endif 55.endif 56 57.if !target(clean) 58clean: 59.if defined(CLEANFILES) && !empty(CLEANFILES) 60 rm -f ${CLEANFILES} 61.endif 62.if defined(LIB) && !empty(LIB) 63 rm -f a.out ${OBJS} ${OBJS:S/$/.tmp/} ${STATICOBJS} 64.endif 65.if defined(_LIBS) && !empty(_LIBS) 66 rm -f ${_LIBS} 67.endif 68.if defined(CLEANDIRS) && !empty(CLEANDIRS) 69 rm -rf ${CLEANDIRS} 70.endif 71.endif 72 73.include <bsd.obj.mk> 74 75.include <bsd.sys.mk> 76 77