forked from F-Stack/f-stack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlib.mk
46 lines (32 loc) · 792 Bytes
/
lib.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#
# Derived from FreeBSD src/share/mk/bsd.lib.mk
#
ifdef DEBUG_FLAGS
CFLAGS+=${DEBUG_FLAGS}
CXXFLAGS+=${DEBUG_FLAGS}
endif
ifndef LIB
$(error LIB must be defined.)
endif
ifndef SRCS
SRCS= ${LIB}.c
endif
ifndef TOPDIR
$(error TOPDIR must be defined.)
endif
FF_LIB_CFLAGS:= -g -Wall -Werror -DFSTACK -std=gnu99
FF_LIB_CFLAGS+= -I${TOPDIR}/lib -I${TOPDIR}/tools/compat
FF_LIB_CFLAGS+= -include${TOPDIR}/tools/compat/compat.h
FF_LIB_CFLAGS+= -I${TOPDIR}/tools/compat/include -D__BSD_VISIBLE
CFLAGS+= ${FF_LIB_CFLAGS}
OBJS+= $(patsubst %.cc,%.o,$(patsubst %.c,%.o,${SRCS}))
LIBBASENAME=lib${LIB}
CLEANFILES+= ${LIBBASENAME}.a ${OBJS}
${LIBBASENAME}.a: ${OBJS}
rm -f $@
ar -cqs $@ ${OBJS}
${OBJS}: %.o: %.c
${CC} -c ${CFLAGS} $<
clean:
@rm -f ${CLEANFILES}
all: ${LIBBASENAME}.a