--- a/Makefile Sat Sep 27 00:20:47 2008 +0300
+++ b/Makefile Sat Oct 04 17:52:11 2008 +0300
@@ -3,7 +3,7 @@
LIBRARY_PATHS = -L${LIBEVENT_PATH}/lib -L${LIBFUSE_PATH}/lib
INCLUDE_PATHS = -I${LIBEVENT_PATH}/include -I${LIBFUSE_PATH}/include
-LDLIBS = -levent -lfuse
+LDLIBS = -levent -lfuse -lpq
# XXX: ugh... use `pkg-config fuse`
DEFINES = -D_FILE_OFFSET_BITS=64
@@ -11,13 +11,19 @@
BIN_NAMES = hello helloworld
+# first target
+all: ${BIN_PATHS}
+
+# binaries
bin/helloworld:
bin/hello: obj/evfuse.o obj/dirbuf.o obj/lib/log.o obj/lib/signals.o
bin/simple_hello: obj/evfuse.o obj/dirbuf.o obj/lib/log.o obj/lib/signals.o obj/simple.o
+bin/evpq_test: obj/evpq.o obj/lib/log.o
# computed
LDFLAGS = ${LIBRARY_PATHS} ${LIBRARY_LIST}
-CFLAGS = ${INCLUDE_PATHS} ${DEFINES} ${MY_CFLAGS}
+CFLAGSX = ${DEFINES} ${MY_CFLAGS}
+CFLAGS = ${INCLUDE_PATHS} ${CFLAGSX}
SRC_PATHS = $(wildcard src/*.c)
SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS))
@@ -25,24 +31,24 @@
BIN_PATHS = $(addprefix bin/,$(BIN_NAMES))
-# targets
-all: depend ${BIN_PATHS}
-
+# other targets
clean :
-rm obj/* bin/*
-depend:
- cd src
- makedepend -p../obj/ -Y -- $(CFLAGS) -- $(SRC_NAMES) 2> /dev/null
- cd ..
+#obj-dirs:
+# python build/make_obj_dirs.py $(BIN_PATHS)
-obj-dirs:
- python build/make_obj_dirs.py $(BIN_PATHS)
+build/deps/%.d : src/%.c
+ @set -e; rm -f $@; \
+ $(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,obj/\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(SRC_NAMES:%.c=build/deps/%.d)
obj/%.o : src/%.c
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
bin/% : obj/%.o
$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
-# DO NOT DELETE THIS LINE -- make depend depends on it.