paul@13 | 1 | # Original sources and final program. |
paul@11 | 2 | |
paul@22 | 3 | SOURCES = main.c client.c summary.c |
paul@13 | 4 | PROGRAM = idl |
paul@11 | 5 | |
paul@11 | 6 | # Generated files from flex and bison. |
paul@11 | 7 | |
paul@0 | 8 | SCANNER = lex.yy.c |
paul@0 | 9 | PARSER = y.tab.c |
paul@0 | 10 | HEADER = y.tab.h |
paul@8 | 11 | GENERATED = $(SCANNER) $(PARSER) |
paul@0 | 12 | |
paul@13 | 13 | # Computed values. |
paul@13 | 14 | |
paul@13 | 15 | ALL_SOURCES = $(SOURCES) $(GENERATED) |
paul@13 | 16 | OBJECTS = $(patsubst %.c,%.o,$(SOURCES)) |
paul@13 | 17 | |
paul@13 | 18 | # Flags and options. |
paul@13 | 19 | |
paul@27 | 20 | CFLAGS = -D_GNU_SOURCE |
paul@2 | 21 | #DEBUG = -DYYDEBUG=1 |
paul@2 | 22 | |
paul@13 | 23 | # Rules. |
paul@13 | 24 | |
paul@13 | 25 | all: $(PROGRAM) |
paul@0 | 26 | |
paul@0 | 27 | clean: |
paul@13 | 28 | $(RM) $(PROGRAM) $(GENERATED) $(HEADER) $(OBJECTS) |
paul@0 | 29 | |
paul@13 | 30 | $(PROGRAM): $(GENERATED) $(OBJECTS) |
paul@27 | 31 | $(CC) $(CFLAGS) -o $@ $(GENERATED) $(OBJECTS) -ll |
paul@0 | 32 | |
paul@0 | 33 | $(SCANNER): idl.lex |
paul@0 | 34 | flex $< |
paul@0 | 35 | |
paul@0 | 36 | $(PARSER): idl.y |
paul@2 | 37 | bison -d -y -t $< |
paul@13 | 38 | |
paul@13 | 39 | $(OBJECTS): $(SOURCES) |
paul@13 | 40 | |
paul@13 | 41 | .c.o: |
paul@27 | 42 | $(CC) $(CFLAGS) -o $@ -c $< |