Makefile fixes, build/deps
authorTero Marttila <terom@fixme.fi>
Sat, 04 Oct 2008 17:52:11 +0300
changeset 11 a4e382d4a22a
parent 10 e74c23297b11
child 12 7f159ee3a3ff
Makefile fixes, build/deps
.hgignore
Makefile
build/deps/lib/.empty_dir
src/lib/error.h
src/lib/log.h
src/lib/signals.c
--- a/.hgignore	Sat Sep 27 00:20:47 2008 +0300
+++ b/.hgignore	Sat Oct 04 17:52:11 2008 +0300
@@ -2,4 +2,5 @@
 
 ^bin/
 ^obj/
+^build/deps/
 \.[^/]+.sw[op]$
--- 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.
--- a/src/lib/error.h	Sat Sep 27 00:20:47 2008 +0300
+++ b/src/lib/error.h	Sat Oct 04 17:52:11 2008 +0300
@@ -1,8 +1,13 @@
 #ifndef LIB_ERROR_H
 #define LIB_ERROR_H
 
+#include "log.h"
+
 #define ERROR(...) do { err_func(__func__, __VA_ARGS__); goto error; } while (0)
 #define PERROR(...) do { perr_func(__func__, __VA_ARGS__); goto error; } while (0)
 #define EERROR(_err, ...) do { eerr_func(__func__, (_err), __VA_ARGS__); goto error; } while (0)
 
+#define FATAL(...) err_func_exit(__func__, __VA_ARGS__)
+#define PFATAL(...) perr_func_exit(__func__, __VA_ARGS__)
+
 #endif /* LIB_ERROR_H */
--- a/src/lib/log.h	Sat Sep 27 00:20:47 2008 +0300
+++ b/src/lib/log.h	Sat Oct 04 17:52:11 2008 +0300
@@ -41,8 +41,6 @@
  */
 #include "error.h"
 
-#define FATAL(...) err_func_exit(__func__, __VA_ARGS__)
-#define PFATAL(...) perr_func_exit(__func__, __VA_ARGS__)
 #define WARNING(...) err_func(__func__, __VA_ARGS__)
 #define PWARNING(...) perr_func(__func__, __VA_ARGS__)
 #define EWARNING(err, ...) eerr_func(__func__, (err), __VA_ARGS__)
--- a/src/lib/signals.c	Sat Sep 27 00:20:47 2008 +0300
+++ b/src/lib/signals.c	Sat Oct 04 17:52:11 2008 +0300
@@ -5,7 +5,7 @@
 #include <assert.h>
 
 #include "signals.h"
-#include "common.h"
+#include "log.h"
 
 struct signals {
     struct event_base *ev_base;