# $Id: Makefile,v 1.2 2004/03/26 02:19:03 jmuelmen Exp $ include ../config.mk COMPILERFLAGS = -Wall -g CC = gcc CFLAGS = $(COMPILERFLAGS) $(INCLUDE) $(EXTRACFLAGS) SOURCES = conf.c y.tab.c lex.conf_yy.c OBJECTS = $(SOURCES:.c=.o) LIB = $(LIBDIR)/libconf.$(LIBSUFFIX) all: $(LIB) $(LIB): $(OBJECTS) $(LINKER) $(LINKERFLAGS) $(LIB) $(OBJECTS) # Generate module table grammar y.tab.c: conf_tbl.y $(YACC) $(YACCFLAGS) -p conf_yy $< lex.conf_yy.c: conf_tbl.l y.tab.c $(LEX) $(LEXFLAGS) -Pconf_yy $< # General rule for making object files %.d: %.c @ set -e ; $(CC) -M $(CFLAGS) $(EXTRACFLAGS) $< \ | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ [ -s $@ ] || rm -f $@ %.o: %.c $(CC) $(CFLAGS) $(EXTRACFLAGS) $< -c .PHONY: clean clean: rm -f y.tab.c lex.conf_yy.c *.o *.d *core *~ -include $(SOURCES:.c=.d)