# $Id: Makefile,v 1.11 2004/03/21 10:13:11 jmuelmen Exp $ include ../config.mk COMPILERFLAGS = -Wall -g CC = gcc CFLAGS = $(COMPILERFLAGS) $(INCLUDE) $(EXTRACFLAGS) SOURCES = board.c module.c modtbl.c usb_libusb.c error.c \ surft.c chant.c rwio.c usb_surfwax.c surfwax.c y.tab.c lex.mod_yy.c OBJECTS = $(SOURCES:.c=.o) LIB = $(LIBDIR)/libsurf.$(LIBSUFFIX) all: $(LIB) $(LIB): $(OBJECTS) $(LINKER) $(LINKERFLAGS) $(LIB) $(OBJECTS) # Generate module table grammar y.tab.c: mod_tbl.y mod_tbl.h $(YACC) $(YACCFLAGS) -p mod_yy $< lex.mod_yy.c: mod_tbl.l mod_tbl.h y.tab.c $(LEX) $(LEXFLAGS) -P mod_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 *.o *.d *core *~ -include $(SOURCES:.c=.d)