SHELL := bash NAME := parser PARSER := $(NAME) SCANNER := scanner CFLAGS := -pedantic -ansi -g -D_GNU_SOURCE all: $(NAME) $(NAME): $(SCANNER).o $(PARSER).o @echo " LINK $<" @gcc $(CFLAGS) -o $@ $? -lfl $(SCANNER).o: $(SCANNER).c $(PARSER).h @echo " CC $<" @gcc $(CFLAGS) -c $< $(SCANNER).c: $(SCANNER).lex @echo " FLEX $<" @flex -o$@ $< $(PARSER).o: $(PARSER).c @echo " CC $<" @gcc $(CFLAGS) -c $< $(PARSER).c: $(PARSER).y @echo " YACC $<" @yacc -t -v -d $< -o $@ $(PARSER).h: $(PARSER).c .PHONY: clean clean: rm -f $(PARSER){,.o,.c,.h,.output} $(SCANNER).{c,o} 1test: 2test 2test: /usr/ftp/pub/ublu/test/$(NAME)/test 2>&1