CC = gcc DOC = doxygen LIBS_SQLITE3 = `pkg-config --libs --cflags sqlite3` LIBS_LIBEDIT = `pkg-config --libs --cflags libedit` LIBS_LIBXML2 = `xml2-config --libs` LIBS_LOG4C = -llog4c CFLAGS = -g -Wall -Werror -Wextra -std=c99 -I$(COMMON_HDR) `xml2-config --cflags` LDFLAGS = SRC_DIR = src BIN_DIR = bin INIT_DIR = $(SRC_DIR)/init LOG_DIR = $(SRC_DIR)/log COMMON_DIR = $(SRC_DIR)/common SETNET_DIR = $(SRC_DIR)/set-network INIT_DEPS = $(INIT_DIR)/init.o $(INIT_DIR)/validate.o LOG_DEPS = $(LOG_DIR)/handle_DA.o $(LOG_DIR)/log.o SETNET_DEPS = $(SETNET_DIR)/fbdb.c $(SETNET_DIR)/set-network.o COMMON_DEPS = $(COMMON_DIR)/fb_sqlite_open.o $(COMMON_DIR)/fb_sqlite_close.o \ $(COMMON_DIR)/fb_sqlite.o COMMON_HDR = $(SRC_DIR)/common all: farmbase-init farmbase-log farmbase-setnet %.o: %.c $(CC) -c -o $@ $(CFLAGS) $(LDFLAGS) $(LIBS) $^ farmbase-init: $(COMMON_DEPS) $(INIT_DEPS) $(CC) -o $(BIN_DIR)/farmbase-init $(INIT_DEPS) $(COMMON_DEPS) \ $(CFLAGS) $(LDFLAGS) \ $(LIBS_LOG4C) $(LIBS_SQLITE3) ln -sf ../src/common/log4crc bin/log4crc farmbase-log: $(COMMON_DEPS) $(LOG_DEPS) $(CC) -o $(BIN_DIR)/farmbase-log $(LOG_DEPS) $(COMMON_DEPS) \ $(CFLAGS) $(LDFLAGS) \ $(LIBS_SQLITE3) $(LIBS_LIBEDIT) $(LIBS_LOG4C) ln -sf ../src/common/log4crc bin/log4crc farmbase-setnet: $(COMMON_DEPS) $(SETNET_DEPS) $(CC) -o $(BIN_DIR)/farmbase-setnet $(COMMON_DEPS) $(SETNET_DEPS) \ $(CFLAGS) $(LDFLAGS) \ $(LIBS_SQLITE3) $(LIBS_LIBXML2) $(LIBS_LOG4C) ln -sf ../src/common/log4crc bin/log4crc doc: $(DOC) doxygen.conf .PHONY : clean clean: -rm $(SRC_DIR)/*/*.o bin/* -rm -r doc/