related fix about unspecified parameters -> () on function defintion means no parameters
[cparser] / Makefile
1 GOAL = cparser
2
3 FIRM_HOME = $(HOME)/projects/firm
4 FIRM_BUILD = $(FIRM_HOME)/build/i686-pc-linux-gnu/debug/
5 FIRM_CFLAGS = -I$(FIRM_HOME)/libfirm/include -I$(FIRM_HOME)/obstack -I$(FIRM_HOME)/libcore -I$(FIRM_HOME)/libcore/libcore -I$(FIRM_HOME)
6 FIRM_LIBS = -L$(FIRM_BUILD) -lfirm -llpp -lcore -lm -lz -ldl
7
8 CPPFLAGS  = -DHAVE_CONFIG_H -DFIRM_BACKEND
9 CPPFLAGS += -I.
10 CPPFLAGS += $(FIRM_CFLAGS)
11
12 CFLAGS += -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Werror -std=c99 -pedantic
13 CFLAGS += -O0 -g3
14 ICC_CFLAGS = -O0 -g3 -std=c99 -Wall -Werror
15 #CFLAGS += -O3 -march=pentium4 -fomit-frame-pointer -DNDEBUG
16
17 LFLAGS = $(FIRM_LIBS)
18
19 SOURCES := \
20         adt/hashset.c \
21         adt/strset.c \
22         adt/xmalloc.c \
23         ast.c \
24         ast2firm.c \
25         lexer.c \
26         main.c \
27         parser.c \
28         symbol_table.c \
29         token.c \
30         type.c \
31         type_hash.c \
32         write_fluffy.c
33
34 OBJECTS = $(SOURCES:%.c=build/%.o)
35
36 SPLINTS = $(addsuffix .splint, $(SOURCES))
37
38 Q = @
39
40 .PHONY : all clean dirs
41
42 all: $(GOAL)
43
44 ifeq ($(findstring $(MAKECMDGOALS), clean depend),)
45 -include .depend
46 endif
47
48 .depend: $(SOURCES)
49         @echo "===> DEPEND"
50         @rm -f $@ && touch $@ && makedepend -p "$@ build/" -Y -f $@ -- $(CPPFLAGS) -- $(SOURCES) 2> /dev/null && rm $@.bak
51
52 $(GOAL): build/adt $(OBJECTS)
53         @echo "===> LD $@"
54         $(Q)$(CC) $(OBJECTS) $(LFLAGS) -o $(GOAL)
55
56 splint: $(SPLINTS)
57
58 %.c.splint: %.c
59         @echo '===> SPLINT $<'
60         $(Q)splint $(CPPFLAGS) $<
61
62 build/adt:
63         @echo "===> MKDIR $@"
64         $(Q)mkdir -p $@
65
66 build/%.o: %.c
67         @echo '===> CC $<'
68 #       $(Q)icc $(CPPFLAGS) $(ICC_CFLAGS) -c $< -o $@
69         $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
70
71 clean:
72         @echo '===> CLEAN'
73         $(Q)rm -rf build $(GOAL) .depend