NDHC_SRCS = $(sort $(wildcard *.c) $(wildcard nk/*.c) ifchd-parse.c cfg.c) NDHC_OBJS = $(NDHC_SRCS:.c=.o) NDHC_DEP = $(NDHC_SRCS:.c=.d) INCL = -I. CFLAGS = -MMD -O2 -s -std=gnu99 -pedantic -Wall -Wextra -Wimplicit-fallthrough=0 -Wformat=2 -Wformat-nonliteral -Wformat-security -Wshadow -Wpointer-arith -Wmissing-prototypes -Wunused-const-variable=0 -Wcast-qual -Wsign-conversion -D_GNU_SOURCE -Wno-discarded-qualifiers -Wstrict-overflow=5 CPPFLAGS += $(INCL) all: ragel ndhc ndhc: $(NDHC_OBJS) $(CC) $(CFLAGS) $(INCL) -o $@ $^ -include $(NDHC_DEP) clean: rm -f $(NDHC_OBJS) $(NDHC_DEP) ndhc cleanragel: rm -f ifchd-parse.c cfg.c ifchd-parse.c: ragel -G2 -o ifchd-parse.c ifchd-parse.rl cfg.c: ragel -T0 -o cfg.c cfg.rl ragel: ifchd-parse.c cfg.c .PHONY: all clean cleanragel