diff --git a/Makefile b/Makefile index adcc22a..e8a065b 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,13 @@ # This is a pretty basic makefile. I generally use CMake, so this is mostly # for distros that want to avoid build dependencies. Produced exes will be -# at './build/ndhc' and './build/ifchd'. +# at './build/ndhc'. NCM_SRCS = $(sort $(wildcard ncmlib/*.c)) -IFCHD_SRCS = $(sort $(wildcard ifchd/*.c)) NDHC_SRCS = $(sort $(wildcard ndhc/*.c)) NCM_OBJS = $(NCM_SRCS:.c=.o) -IFCHD_OBJS = $(IFCHD_SRCS:.c=.o) NDHC_OBJS = $(NDHC_SRCS:.c=.o) NCM_INC = -I./ncmlib -IFCH_INC = -I./ifchd +NDHC_INC = -I./ndhc BUILD_DIR = build OBJ_DIR = $(BUILD_DIR)/objs @@ -18,30 +16,27 @@ AR = ar RANLIB = ranlib CFLAGS = -O2 -s -std=gnu99 -pedantic -Wall -D_GNU_SOURCE -DHAVE_CLEARENV -DLINUX -all: makedir ifchd-parse.o ncmlib.a ifchd ndhc +all: makedir ifchd-parse.o ncmlib.a ndhc clean: rm -Rf $(BUILD_DIR) makedir: - mkdir -p $(BUILD_DIR) $(OBJ_DIR)/ndhc $(OBJ_DIR)/ifchd $(OBJ_DIR)/ncmlib + mkdir -p $(BUILD_DIR) $(OBJ_DIR)/ndhc $(OBJ_DIR)/ncmlib ifchd-parse.o: - ragel -G2 -o $(BUILD_DIR)/ifchd-parse.c ifchd/ifchd-parse.rl - $(CC) $(CFLAGS) $(IFCH_INC) $(NCM_INC) -c -o $(OBJ_DIR)/ifchd/$@ $(BUILD_DIR)/ifchd-parse.c + ragel -G2 -o $(BUILD_DIR)/ifchd-parse.c ndhc/ifchd-parse.rl + $(CC) $(CFLAGS) $(NCM_INC) $(NDHC_INC) -c -o $(OBJ_DIR)/ndhc/$@ $(BUILD_DIR)/ifchd-parse.c %.o: %.c - $(CC) $(CFLAGS) $(IFCH_INC) $(NCM_INC) -c -o $(OBJ_DIR)/$@ $< + $(CC) $(CFLAGS) $(NCM_INC) -c -o $(OBJ_DIR)/$@ $< ncmlib.a: $(NCM_OBJS) $(AR) rc $(BUILD_DIR)/$@ $(subst ncmlib/,$(OBJ_DIR)/ncmlib/,$(NCM_OBJS)) $(RANLIB) $(BUILD_DIR)/$@ -ifchd: $(IFCHD_OBJS) ifchd-parse.o - $(CC) $(CFLAGS) $(NCM_INC) -o $(BUILD_DIR)/$@ $(subst ifchd/,$(OBJ_DIR)/ifchd/,$(IFCHD_OBJS)) $(BUILD_DIR)/objs/ifchd/ifchd-parse.o $(BUILD_DIR)/ncmlib.a -lcap - -ndhc: $(NDHC_OBJS) - $(CC) $(CFLAGS) $(IFCH_INC) $(NCM_INC) -o $(BUILD_DIR)/$@ $(subst ndhc/,$(OBJ_DIR)/ndhc/,$(NDHC_OBJS)) $(BUILD_DIR)/ncmlib.a -lcap -lrt +ndhc: $(NDHC_OBJS) ifchd-parse.o + $(CC) $(CFLAGS) $(NCM_INC) -o $(BUILD_DIR)/$@ $(subst ndhc/,$(OBJ_DIR)/ndhc/,$(NDHC_OBJS)) $(BUILD_DIR)/ncmlib.a $(BUILD_DIR)/objs/ndhc/ifchd-parse.o -lcap -lrt .PHONY: all clean diff --git a/README b/README index 2806fe9..2af3339 100644 --- a/README +++ b/README @@ -6,6 +6,7 @@ Requirements: Linux kernel GNU Make (tested: 3.82) or CMake (tested: 2.8) libcap (available via ftp.kernel.org) +Ragel (tested: 6.7) INTRODUCTION ------------