--- 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;