Makefile (689B)
1 2 BIN=bcalc 3 DEPS=$(wildcard deps/*/*.c) $(GEN) 4 PREFIX ?= /usr/local 5 6 CFLAGS = -O2 -std=c99 7 SRC = num.c 8 DEPS = $(wildcard deps/*/*.c) $(SRC) parser.tab.c lex.yy.c 9 OBJS = $(DEPS:.c=.o) 10 GEN = parser.tab.c parser.tab.h lex.yy.c $(OBJS) $(BIN) 11 12 13 all: $(BIN) 14 15 parser.tab.c parser.tab.h: parser.y 16 bison -d parser.y 17 18 lex.yy.c: lexer.l parser.tab.h 19 flex lexer.l 20 21 install: $(BIN) bcalc.1 22 mkdir -p $(PREFIX)/bin $(PREFIX)/share/man/man1 23 gzip < bcalc.1 > $(PREFIX)/share/man/man1/bcalc.1.gz 24 cp $(BIN) $(PREFIX)/bin 25 26 check: $(BIN) fake 27 @sh -c "cd test && ./run" 28 29 TAGS: fake 30 etags -o - *.c > $@ 31 32 $(BIN): $(DEPS) bcalc.c 33 $(CC) $(CFLAGS) -Ideps -o $@ $^ 34 35 clean: fake 36 rm -f $(GEN) 37 38 39 .PHONY: fake