# $Id: Makefile,v 1.25 2004/04/02 02:03:25 jmuelmen Exp $ include ../config.mk COMPILERFLAGS = -Wall -g -pedantic CC = gcc CFLAGS = $(COMPILERFLAGS) $(INCLUDE) -I. $(EXTRACFLAGS) CCSOURCES = SOURCES = diag.c powersupply.c tdaq.c iseg.c load.c hvsupply.c # envch.c OBJECTS = $(CCSOURCES:.cc=.o) $(SOURCES:.c=.o) TESTSOURCES = iseg.test.c TESTOBJECTS = $(TESTSOURCES:.c=.o) GLUESOURCES = tdaq_glue.c GLUEOBJECTS = $(GLUESOURCES:.c=.o) LIB = $(LIBDIR)/libinst.$(LIBSUFFIX) TESTBIN = test GLUEOBJ = tdaq_glue.obj all: $(LIB) $(GLUEOBJ) # $(TESTBIN) $(LIB): $(OBJECTS) $(EXTRAOBJECTS) $(LINKER) $(LINKERFLAGS) $(LIB) $(OBJECTS) $(EXTRAOBJECTS) $(TESTBIN): $(OBJECTS) $(TESTOBJECTS) $(CC) $(CFLAGS) -o $(TESTBIN) $(OBJECTS) $(TESTOBJECTS) $(EXTRAOBJECTS)\ -L $(LIBDIR) $(LIBRARIES) \ -Xlinker -rpath -Xlinker $(LIBDIR) $(GLUEOBJ): $(GLUEOBJECTS) cp tdaq_glue.o $(GLUEOBJ) # General rule for making object files %.d: %.c @ set -e ; $(CC) -M $(CFLAGS) $< \ | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ [ -s $@ ] || rm -f $@ %.d: %.cc @ set -e ; $(CC) -M $(CFLAGS) $< \ | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ [ -s $@ ] || rm -f $@ %.o: %.c $(CC) $(CFLAGS) $< -c %.o: %.cc $(CC) $(CFLAGS) $< -c clean: rm -f *.o y.tab.* lex.yy.c shell *.d *core -include $(SOURCES:.c=.d) $(CCSOURCES:.cc=.d) $(TESTSOURCES:.c=.d) \ $(GLUESOURCES:.c=.d)