xref: /f-stack/tools/lib.mk (revision 1eaf0ac3)
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