author | Tero Marttila <terom@fixme.fi> |
Wed, 08 Oct 2008 22:05:13 +0300 | |
changeset 15 | a8d183e79ed9 |
parent 11 | a4e382d4a22a |
child 19 | c4b163491900 |
permissions | -rw-r--r-- |
1 | 1 |
LIBEVENT_PATH = ../libs/libevent-dev |
2 |
LIBFUSE_PATH = ../libs/libfuse-2.7.4 |
|
0 | 3 |
|
4 |
LIBRARY_PATHS = -L${LIBEVENT_PATH}/lib -L${LIBFUSE_PATH}/lib |
|
5 |
INCLUDE_PATHS = -I${LIBEVENT_PATH}/include -I${LIBFUSE_PATH}/include |
|
11 | 6 |
LDLIBS = -levent -lfuse -lpq |
0 | 7 |
|
1 | 8 |
# XXX: ugh... use `pkg-config fuse` |
9 |
DEFINES = -D_FILE_OFFSET_BITS=64 |
|
0 | 10 |
MY_CFLAGS = -Wall -g -std=gnu99 |
11 |
||
1 | 12 |
BIN_NAMES = hello helloworld |
0 | 13 |
|
11 | 14 |
# first target |
15 |
all: ${BIN_PATHS} |
|
16 |
||
17 |
# binaries |
|
1 | 18 |
bin/helloworld: |
7
3a603d755bcb
split off the dirbuf stuff into its own module
Tero Marttila <terom@fixme.fi>
parents:
6
diff
changeset
|
19 |
bin/hello: obj/evfuse.o obj/dirbuf.o obj/lib/log.o obj/lib/signals.o |
3a603d755bcb
split off the dirbuf stuff into its own module
Tero Marttila <terom@fixme.fi>
parents:
6
diff
changeset
|
20 |
bin/simple_hello: obj/evfuse.o obj/dirbuf.o obj/lib/log.o obj/lib/signals.o obj/simple.o |
11 | 21 |
bin/evpq_test: obj/evpq.o obj/lib/log.o |
15 | 22 |
bin/url_test: obj/lib/url.o obj/lib/lex.o obj/lib/log.o |
0 | 23 |
|
24 |
# computed |
|
25 |
LDFLAGS = ${LIBRARY_PATHS} ${LIBRARY_LIST} |
|
11 | 26 |
CFLAGSX = ${DEFINES} ${MY_CFLAGS} |
27 |
CFLAGS = ${INCLUDE_PATHS} ${CFLAGSX} |
|
0 | 28 |
|
29 |
SRC_PATHS = $(wildcard src/*.c) |
|
30 |
SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS)) |
|
1 | 31 |
SRC_DIRS = $(dir $(SRC_NAMES)) |
0 | 32 |
|
33 |
BIN_PATHS = $(addprefix bin/,$(BIN_NAMES)) |
|
34 |
||
11 | 35 |
# other targets |
0 | 36 |
clean : |
37 |
-rm obj/* bin/* |
|
38 |
||
11 | 39 |
#obj-dirs: |
40 |
# python build/make_obj_dirs.py $(BIN_PATHS) |
|
0 | 41 |
|
11 | 42 |
build/deps/%.d : src/%.c |
43 |
@set -e; rm -f $@; \ |
|
44 |
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \ |
|
45 |
sed 's,\($*\)\.o[ :]*,obj/\1.o $@ : ,g' < $@.$$$$ > $@; \ |
|
46 |
rm -f $@.$$$$ |
|
47 |
||
48 |
include $(SRC_NAMES:%.c=build/deps/%.d) |
|
1 | 49 |
|
0 | 50 |
obj/%.o : src/%.c |
11 | 51 |
$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@ |
0 | 52 |
|
53 |
bin/% : obj/%.o |
|
1 | 54 |
$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ |
0 | 55 |