CFLAGS += -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Werror -std=c99 -pedantic
CFLAGS += -O0 -g3
-ICC_CFLAGS = -O0 -g3 -std=c99 -Wall -Werror
#CFLAGS += -O3 -march=pentium4 -fomit-frame-pointer -DNDEBUG
+#CFLAGS += -pg -O3 -fno-inline
+ICC_CFLAGS = -O0 -g3 -std=c99 -Wall -Werror
+LFLAGS += -pg
ICC ?= true
GCCO1 ?= true
SOURCES := \
adt/hashset.c \
adt/strset.c \
+ adt/obstack.c \
+ adt/obstack_printf.c \
adt/xmalloc.c \
ast.c \
ast2firm.c \
+ diagnostic.c \
+ format_check.c \
lexer.c \
main.c \
parser.c \
type.c \
types.c \
type_hash.c \
+ warning.c \
write_fluffy.c \
driver/firm_cmdline.c \
driver/firm_timing.c \
OBJECTS = $(SOURCES:%.c=build/%.o)
SPLINTS = $(addsuffix .splint, $(SOURCES))
+CPARSERS = $(addsuffix .cparser, $(SOURCES))
Q = @
splint: $(SPLINTS)
+selfcheck: $(CPARSERS)
+
%.c.splint: %.c
@echo '===> SPLINT $<'
$(Q)splint $(CPPFLAGS) $<
+%.c.cparser: %.c
+ @echo '===> CPARSER $<'
+ $(Q)./cparser $(CPPFLAGS) -fsyntax-only $<
+
build/adt build/driver:
@echo "===> MKDIR $@"
$(Q)mkdir -p $@
build/%.o: %.c
@echo '===> CC $<'
#-$(Q)build/cparser $(CPPFLAGS) $(CFLAGS) -fsyntax-only $<
-#$(Q)$(ICC) $(CPPFLAGS) $(ICC_CFLAGS) -c $< -o $@
-# $(Q)$(GCCO1) $(CPPFLAGS) $(CFLAGS) -O1 -c $< -o $@
+ $(Q)$(ICC) $(CPPFLAGS) $(ICC_CFLAGS) -c $< -o $@
+ $(Q)$(GCCO1) $(CPPFLAGS) $(CFLAGS) -O1 -c $< -o $@
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
clean:
@echo '===> CLEAN'
- $(Q)rm -rf build $(GOAL) .depend
+ $(Q)rm -rf build/* $(GOAL) .depend