1553b6b589eb3fa244c80ea5d4db3efab1434d52
[uebersetzerbau-ss10.git] / codea / Makefile
1 SHELL := bash
2 NAME := codea
3 CFLAGS := -ansi -pedantic -D_GNU_SOURCE
4 OBJS := scanner.o parser.o symtable.o code.o
5
6 all: $(NAME)
7
8 $(NAME): $(OBJS)
9         @echo "  LINK    $@"
10         @gcc -o $@ $(OBJS) -lfl
11
12 scanner.c: oxout.l
13         @echo "  FLEX    $<"
14         @flex -o$@ $<
15
16 %.o: %.c parser.h symtable.h 
17         @echo "  CC      $<"
18         @gcc -c $(CFLAGS) $< #-Wall
19
20 parser.c: oxout.y
21         @echo "  YACC    $<"
22         @yacc -t -v -d $< -o $@
23
24 parser.h: parser.c
25
26 oxout.y oxout.l: parser.y scanner.lex
27         @echo "  OX      $^"
28         @ox $^
29
30 %.c: %.bfe
31         @echo "  IBURG   $<"
32         @bfe < $< | iburg > $@
33
34 .PHONY: clean
35 clean:
36         rm -f $(NAME) $(OBJS) scanner.c parser.{h,c,output} oxout.{y,l,h} code.c
37
38 1test:
39         @echo "  CC      callingconvention.c"
40         @gcc -c -fomit-frame-pointer -fno-defer-pop testit/callingconvention.c -o testit/callingconvention.o
41         @./testit/test
42
43 2test:
44         /usr/ftp/pub/ublu/test/$(NAME)/test 2>&1