1include config.mk
2
3CC = cc
4AR = ar
5CFLAGS = -std=c99 -Wall -Wextra -O2
6CPPFLAGS = ${CONF_CPPFLAGS} -Iinclude
7LDFLAGS = ${CONF_LDFLAGS}
8
9LIB_NAME = build/${CONF_LIB_NAME}
10LIB_SRCS = source/maus.c \
11 source/maus_font.c \
12 source/utils.c \
13 ${CONF_SRC}
14LIB_OBJS = build/maus.o \
15 build/maus_font.o \
16 build/utils.o \
17 ${CONF_OBJS}
18
19all: ${LIB_NAME}
20
21${LIB_NAME}: ${LIB_OBJS}
22 ${AR} -rcs $@ ${LIB_OBJS}
23
24build/maus.o: source/maus.c
25 mkdir -p build
26 ${CC} ${CFLAGS} ${CPPFLAGS} -c source/maus.c -o $@
27build/maus_font.o: source/maus_font.c
28 mkdir -p build
29 ${CC} ${CFLAGS} ${CPPFLAGS} -c source/maus_font.c -o $@
30build/utils.o: source/utils.c
31 mkdir -p build
32 ${CC} ${CFLAGS} ${CPPFLAGS} -c source/utils.c -o $@
33build/maus_x11.o: source/maus_x11.c
34 mkdir -p build
35 ${CC} ${CFLAGS} ${CPPFLAGS} -c source/maus_x11.c -o $@
36
37clean:
38 rm -rf build ${LIB_NAME} config.mk compile_flags.txt
39
40compile_flags:
41 rm -f compile_flags.txt
42 for f in ${CFLAGS} ${CPPFLAGS}; do echo $$f >> compile_flags.txt; done
43
44.PHONY: all clean compile_flags
45