1*1eaf0ac3Slogwang# 2*1eaf0ac3Slogwang# Derived from FreeBSD src/share/mk/bsd.lib.mk 3*1eaf0ac3Slogwang# 4*1eaf0ac3Slogwang 5*1eaf0ac3Slogwangifdef DEBUG_FLAGS 6*1eaf0ac3SlogwangCFLAGS+=${DEBUG_FLAGS} 7*1eaf0ac3SlogwangCXXFLAGS+=${DEBUG_FLAGS} 8*1eaf0ac3Slogwangendif 9*1eaf0ac3Slogwang 10*1eaf0ac3Slogwangifndef LIB 11*1eaf0ac3Slogwang$(error LIB must be defined.) 12*1eaf0ac3Slogwangendif 13*1eaf0ac3Slogwang 14*1eaf0ac3Slogwangifndef SRCS 15*1eaf0ac3SlogwangSRCS= ${LIB}.c 16*1eaf0ac3Slogwangendif 17*1eaf0ac3Slogwang 18*1eaf0ac3Slogwangifndef TOPDIR 19*1eaf0ac3Slogwang$(error TOPDIR must be defined.) 20*1eaf0ac3Slogwangendif 21*1eaf0ac3Slogwang 22*1eaf0ac3SlogwangFF_LIB_CFLAGS:= -g -Wall -Werror -DFSTACK -std=gnu99 23*1eaf0ac3SlogwangFF_LIB_CFLAGS+= -I${TOPDIR}/lib -I${TOPDIR}/tools/compat 24*1eaf0ac3SlogwangFF_LIB_CFLAGS+= -include${TOPDIR}/tools/compat/compat.h 25*1eaf0ac3SlogwangFF_LIB_CFLAGS+= -I${TOPDIR}/tools/compat/include -D__BSD_VISIBLE 26*1eaf0ac3Slogwang 27*1eaf0ac3SlogwangCFLAGS+= ${FF_LIB_CFLAGS} 28*1eaf0ac3Slogwang 29*1eaf0ac3SlogwangOBJS+= $(patsubst %.cc,%.o,$(patsubst %.c,%.o,${SRCS})) 30*1eaf0ac3Slogwang 31*1eaf0ac3SlogwangLIBBASENAME=lib${LIB} 32*1eaf0ac3Slogwang 33*1eaf0ac3SlogwangCLEANFILES+= ${LIBBASENAME}.a ${OBJS} 34*1eaf0ac3Slogwang 35*1eaf0ac3Slogwang${LIBBASENAME}.a: ${OBJS} 36*1eaf0ac3Slogwang rm -f $@ 37*1eaf0ac3Slogwang ar -cqs $@ ${OBJS} 38*1eaf0ac3Slogwang 39*1eaf0ac3Slogwang${OBJS}: %.o: %.c 40*1eaf0ac3Slogwang ${CC} -c ${CFLAGS} $< 41*1eaf0ac3Slogwang 42*1eaf0ac3Slogwangclean: 43*1eaf0ac3Slogwang @rm -f ${CLEANFILES} 44*1eaf0ac3Slogwang 45*1eaf0ac3Slogwangall: ${LIBBASENAME}.a 46*1eaf0ac3Slogwang 47