scnr: ich liebe makefiles :)
authorBernhard Urban <lewurm@gmail.com>
Tue, 30 Mar 2010 19:57:57 +0000 (21:57 +0200)
committerBernhard Urban <lewurm@gmail.com>
Tue, 30 Mar 2010 19:57:57 +0000 (21:57 +0200)
ag/Makefile
parser/Makefile
scanner/Makefile

index 9b6ac4564ce1f3bb665eb82bb63b00e78780aa7c..a74a1f459ab22aa4ba13a29e8ff46f0b57f5272c 100644 (file)
@@ -2,7 +2,6 @@ SHELL := bash
 NAME := ag
 CFLAGS := -ansi -pedantic -D_GNU_SOURCE
 OBJS := scanner.o parser.o symtable.o
-TARGETS := parser.y scanner.lex
 
 all: $(NAME)
 
@@ -24,9 +23,9 @@ parser.c: oxout.y
 
 parser.h: parser.c
 
-oxout.y oxout.l: $(TARGETS)
-       @echo "  OX      $(TARGETS)"
-       @ox parser.y scanner.lex
+oxout.y oxout.l: parser.y scanner.lex
+       @echo "  OX      $^"
+       @ox $^
 
 .PHONY: clean
 clean:
index 372ed18f2cdde23818b52822a6d46bf41ffa6fbb..31032ed3c1631c539e4e2c2e628f31fc18915952 100644 (file)
@@ -11,17 +11,9 @@ $(NAME): $(SCANNER).o $(PARSER).o
        @echo "  LINK    $<"
        @gcc $(CFLAGS) -o $@ $? -lfl
 
-$(SCANNER).o: $(SCANNER).c $(PARSER).h
+%.o: %.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 $<
+       @gcc -c $(CFLAGS) $< #-Wall
 
 $(PARSER).c: $(PARSER).y
        @echo "  YACC    $<"
@@ -29,6 +21,10 @@ $(PARSER).c: $(PARSER).y
 
 $(PARSER).h: $(PARSER).c
 
+$(SCANNER).c: $(SCANNER).lex
+       @echo "  FLEX    $<"
+       @flex -o$@ $<
+
 
 .PHONY: clean
 clean:
index 8bcdabf31a059ececd12f63853196022d70c13d7..b72e2cf37d3f955a5a5a4dbefbdf01908a994789 100755 (executable)
@@ -10,7 +10,7 @@ $(NAME): $(NAME).lex
 
 .PHONY: clean
 clean:
-       rm -f $(NAME).o $(NAME) $(NAME).c
+       rm -f $(NAME){,.o,.c}
 
 1test: 2test