Until now *.o files were not created.
+MAKEFLAGS += --no-builtin-rules
.PHONY: all clean
.SUFFIXES:
cnfexpr.c \
symlist.c \
output.c
+OBJ = $(patsubst %.c,%.o,$(SRC))
CFLAGS = -O0 -w -ggdb
+INCLUDES = -I../shared
-parse: $(SRC) $(KCONFIG_SRC)
- gcc $(CFLAGS) -o $@ $^ -I../shared
+%.o: %.c
+ gcc -c $(CFLAGS) -o $@ $^ $(INCLUDES)
+
+parse: $(OBJ) $(KCONFIG_OBJ)
+ gcc -o $@ $^
clean::
+ $(RM) $(OBJ)
$(RM) parser
endif
KCONFIG_SRC = $(KCONFIG_PREFIX)/zconf.tab.c
+KCONFIG_OBJ = $(KCONFIG_PREFIX)/zconf.tab.o
+
+KCONFIG_CFLAGS = -O3
%.hash.c: %.gperf
gperf -t --output-file $@ -a -C -E -g -k '1,3,$$' -p -t $<
%.tab.c: %.y
bison -o $@ $< -p zconf -t -l
+$(KCONFIG_PREFIX)/zconf.tab.o: $(KCONFIG_PREFIX)/zconf.tab.c
+ gcc $(KCONFIG_CFLAGS) -c -o $@ $^
clean::
+ $(RM) $(KCONFIG_OBJ)
$(RM) $(KCONFIG_PREFIX)/zconf.tab.c
$(RM) $(KCONFIG_PREFIX)/zconf.lex.c
$(RM) $(KCONFIG_PREFIX)/zconf.hash.c