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