terom@1: LIBEVENT_PATH = ../libs/libevent-dev terom@1: LIBFUSE_PATH = ../libs/libfuse-2.7.4 terom@0: terom@0: LIBRARY_PATHS = -L${LIBEVENT_PATH}/lib -L${LIBFUSE_PATH}/lib terom@0: INCLUDE_PATHS = -I${LIBEVENT_PATH}/include -I${LIBFUSE_PATH}/include terom@11: LDLIBS = -levent -lfuse -lpq terom@0: terom@1: # XXX: ugh... use `pkg-config fuse` terom@1: DEFINES = -D_FILE_OFFSET_BITS=64 terom@0: MY_CFLAGS = -Wall -g -std=gnu99 terom@0: terom@19: BIN_NAMES = helloworld hello simple_hello evpq_test url_test terom@19: BIN_PATHS = $(addprefix bin/,$(BIN_NAMES)) terom@0: terom@11: # first target terom@11: all: ${BIN_PATHS} terom@11: terom@11: # binaries terom@1: bin/helloworld: terom@7: bin/hello: obj/evfuse.o obj/dirbuf.o obj/lib/log.o obj/lib/signals.o terom@7: bin/simple_hello: obj/evfuse.o obj/dirbuf.o obj/lib/log.o obj/lib/signals.o obj/simple.o terom@11: bin/evpq_test: obj/evpq.o obj/lib/log.o terom@15: bin/url_test: obj/lib/url.o obj/lib/lex.o obj/lib/log.o terom@0: terom@0: # computed terom@0: LDFLAGS = ${LIBRARY_PATHS} ${LIBRARY_LIST} terom@11: CFLAGSX = ${DEFINES} ${MY_CFLAGS} terom@11: CFLAGS = ${INCLUDE_PATHS} ${CFLAGSX} terom@0: terom@19: SRC_PATHS = $(wildcard src/*.c) $(wildcard src/*/*.c) terom@0: SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS)) terom@1: SRC_DIRS = $(dir $(SRC_NAMES)) terom@0: terom@11: # other targets terom@0: clean : terom@0: -rm obj/* bin/* terom@0: terom@11: #obj-dirs: terom@11: # python build/make_obj_dirs.py $(BIN_PATHS) terom@0: terom@11: build/deps/%.d : src/%.c terom@11: @set -e; rm -f $@; \ terom@20: $(CC) -MM -MT __ $(CPPFLAGS) $< > $@.$$$$; \ terom@20: sed 's,__[ :]*,obj/$*.o $@ : ,g' < $@.$$$$ > $@; \ terom@11: rm -f $@.$$$$ terom@11: terom@11: include $(SRC_NAMES:%.c=build/deps/%.d) terom@1: terom@0: obj/%.o : src/%.c terom@11: $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@ terom@0: terom@0: bin/% : obj/%.o terom@1: $(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ terom@0: