057281a755454de0388a0f0d8d2435ec5b632f40
[uebersetzerbau-ss10.git] / parser / Makefile
1 NAME := parser
2 PARSER := $(NAME)
3 SCANNER := scanner
4
5 CFLAGS := -pedantic -ansi -g -D_GNU_SOURCE
6
7 all: $(NAME)
8
9 $(NAME): $(SCANNER).o $(PARSER).o
10         @echo "  LINK    $<"
11         @gcc $(CFLAGS) -o $@ $? -lfl
12
13 $(SCANNER).o: $(SCANNER).c $(PARSER).h
14         @echo "  CC      $<"
15         @gcc $(CFLAGS) -c $<
16
17 $(SCANNER).c: $(SCANNER).lex
18         @echo "  FLEX    $<"
19         @flex -o$@ $<
20
21 $(PARSER).o: $(PARSER).c
22         @echo "  CC      $<"
23         @gcc $(CFLAGS) -c $<
24
25 $(PARSER).c: $(PARSER).y
26         @echo "  YACC    $<"
27         @yacc -t -v -d $< -o $@
28
29 $(PARSER).h: $(PARSER).c
30
31
32 .PHONY: clean
33 clean:
34         rm -f $(PARSER){,.o,.c,.h,.output} $(SCANNER).{c,o}
35
36 1test: 2test
37
38 2test:
39         /usr/ftp/pub/ublu/test/$(NAME)/test 2>&1
40