Makefile
changeset 11 a4e382d4a22a
parent 7 3a603d755bcb
child 15 a8d183e79ed9
--- 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.