#CFLAGS += -O3 -march=pentium4 -fomit-frame-pointer -DNDEBUG
#CFLAGS += -pg -O3 -fno-inline
ICC_CFLAGS = -O0 -g3 -std=c99 -Wall -Werror
-LFLAGS += -pg
+#LFLAGS += -pg
ICC ?= true
GCCO1 ?= true
Q = @
-.PHONY : all clean dirs
+all: $(DIRS) $(GOAL)
-all: $(GOAL)
+.PHONY: all clean dirs bootstrap bootstrap2
ifeq ($(findstring $(MAKECMDGOALS), clean depend),)
-include .depend
@echo "===> DEPEND"
@rm -f $@ && touch $@ && makedepend -p "$@ build/" -Y -f $@ -- $(CPPFLAGS) -- $(SOURCES) 2> /dev/null && rm $@.bak
-DIRS = build/adt build/driver build/cpb build/cpb/adt build/cpb/driver build/cpb2 build/cpb2/adt build/cpb2/driver
+DIRS = build build/adt build/driver build/cpb build/cpb/adt build/cpb/driver build/cpb2 build/cpb2/adt build/cpb2/driver
+UNUSED := $(shell mkdir -p $(DIRS))
-$(GOAL): $(DIRS) $(OBJECTS)
+$(GOAL): $(OBJECTS)
@echo "===> LD $@"
$(Q)$(CC) $(OBJECTS) $(LFLAGS) -o $(GOAL)
-
splint: $(SPLINTS)
selfcheck: $(CPARSERS)
@echo "===> MKDIR $@"
$(Q)mkdir -p $@
-build/cpb/%.o: %.c cparser
+build/cpb/%.o: %.c build/cparser
@echo '===> CPARSER $<'
- $(Q)./cparser $(CPPFLAGS) -Wall -g -c $< -o $@
+ $(Q)./build/cparser $(CPPFLAGS) -Wall -g -c $< -o $@
build/cpb2/%.o: %.c cparser.bootstrap
@echo '===> CPARSER.BOOTSTRAP $<'