fix duplicate_type, improve a comment
[cparser] / Makefile
index ea97557..3812b37 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,33 +1,40 @@
 GOAL = cparser
 
-#FIRM_CFLAGS = `pkg-config --cflags libfirm`
-#FIRM_LIBS = `pkg-config --libs libfirm`
-FIRM_CFLAGS = -I$(HOME)/projects/firm/libfirm/include -I$(HOME)/projects/firm/libcore
-FIRM_LIBS = -L$(HOME)/projects/firm/build/i686-pc-linux-gnu/debug -lfirm -llpp -lcore -lm
+FIRM_HOME = $(HOME)/projects/firm
+FIRM_BUILD = $(FIRM_HOME)/build/i686-pc-linux-gnu/debug/
+FIRM_CFLAGS = -I$(FIRM_HOME)/libfirm/include -I$(FIRM_HOME)/obstack -I$(FIRM_HOME)/libcore -I$(FIRM_HOME)/libcore/libcore -I$(FIRM_HOME)
+FIRM_LIBS = -L$(FIRM_BUILD) -lfirm -llpp -lcore -lm -lz
 
-CFLAGS += -Wall -W -Wextra -Werror -O0 -g3 -std=c99
-CFLAGS += -DHAVE_CONFIG_H
-CFLAGS += -I .
-CFLAGS += $(FIRM_CFLAGS)
+CPPFLAGS  = -DHAVE_CONFIG_H -DFIRM_BACKEND
+CPPFLAGS += -I.
+CPPFLAGS += $(FIRM_CFLAGS)
 
-LFLAGS = $(FIRM_LIBS) -llpp -ldl --export-dynamic -g3
+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
+
+LFLAGS = $(FIRM_LIBS)
 
 SOURCES := \
        adt/hashset.c \
-       adt/pset.c \
        adt/strset.c \
        adt/xmalloc.c \
        ast.c \
+       ast2firm.c \
        lexer.c \
        main.c \
        parser.c \
        symbol_table.c \
        token.c \
        type.c \
-       type_hash.c
+       type_hash.c \
+       write_fluffy.c
 
 OBJECTS = $(SOURCES:%.c=build/%.o)
 
+SPLINTS = $(addsuffix .splint, $(SOURCES))
+
 Q = @
 
 .PHONY : all clean dirs
@@ -40,11 +47,17 @@ endif
 
 .depend: $(SOURCES)
        @echo "===> DEPEND"
-       @rm -f $@ && touch $@ && makedepend -p "$@ build/" -Y -f $@ -- $(CFLAGS) -- $(SOURCES) 2> /dev/null && rm $@.bak
+       @rm -f $@ && touch $@ && makedepend -p "$@ build/" -Y -f $@ -- $(CPPFLAGS) -- $(SOURCES) 2> /dev/null && rm $@.bak
 
 $(GOAL): build/adt $(OBJECTS)
        @echo "===> LD $@"
-       $(Q)$(CC) -rdynamic $(OBJECTS) $(LFLAGS) -o $(GOAL)
+       $(Q)$(CC) $(OBJECTS) $(LFLAGS) -o $(GOAL)
+
+splint: $(SPLINTS)
+
+%.c.splint: %.c
+       @echo '===> SPLINT $<'
+       $(Q)splint $(CPPFLAGS) $<
 
 build/adt:
        @echo "===> MKDIR $@"
@@ -52,7 +65,8 @@ build/adt:
 
 build/%.o: %.c
        @echo '===> CC $<'
-       $(Q)$(CC) $(CFLAGS) -c $< -o $@
+       $(Q)icc $(CPPFLAGS) $(ICC_CFLAGS) -c $< -o $@
+       $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
 
 clean:
        @echo '===> CLEAN'