From 7fe7d121982f1ddaf49ddc19ba6202b0ae747e1f Mon Sep 17 00:00:00 2001 From: hadaq Date: Fri, 23 Apr 2010 18:51:42 +0000 Subject: [PATCH] new Makefile --- trbrich/Makefile | 103 ++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 54 deletions(-) diff --git a/trbrich/Makefile b/trbrich/Makefile index 39d7f02..9288991 100644 --- a/trbrich/Makefile +++ b/trbrich/Makefile @@ -1,97 +1,92 @@ +# ------------ Compiler / Linker Options ------------------------------- + AXIS_USABLE_LIBS = UCLIBC GLIBC include $(AXIS_TOP_DIR)/tools/build/Rules.axis -CFLAGS = -pipe -g -Wall -Winline -O3 -finline-functions -finline-limit=600000 #-DHEXMODE - -CPPFLAGS = +INCDIR = -I. -I../libtrbnet +CPPFLAGS = -INCDIR = -I../libtrbnet +CFLAGS = -pipe -g -Wall -Winline -O3 -fPIC -finline-functions -finline-limit=600000 -LDFLAGS = +LD = $(CC) +LDFLAGS = LIBDIR = -L../libtrbnet LOADLIBES = -ltrbnet -# ------------ Libaries ------------------------------------------------ - -AR = ar-cris -ARFLAGS = -srv - -# ------------ Install ------------------------------------------------- - -BIN.OBJS = -LIB.OBJS = -INC.OBJS = - -BIN_DIR = -LIB_DIR = -INC_DIR = - -# ------------ Objects ------------------------------------------------- +# ------------ TARGETS ------------------------------------------------- TARGETS = pulser trb_i2c trbflash trbrichcmd -pulser.OBJS = pulser.o - -trb_i2c.OBJS = trb_i2c.o - -trbflash.OBJS = trbflash.o +LIB_TARGETS = -trbrichcmd.OBJS = trbrichcmd.o - -# ------------ Library-Objects ---------------------------------------- - -LIB_TARGETS = +# ------------ Libaries ------------------------------------------------ -# ------------ Suffix Rules ------------------------------------------- +AR = ar-cris +ARFLAGS = -srv -.SUFFIXES: +# ------------ Pattern Rules ------------------------------------------- -# ----- C Code --------- +# C Code: %.o: %.c - $(CC) $< -c $(CPPFLAGS) $(CFLAGS) $(INCDIR) -o $@ + $(CC) $< -c $(CFLAGS) $(CPPFLAGS) $(INCDIR) -o $@ -.SUFFIXES: .o .c +# C++ Code: +%.o: %.cpp + $(CXX) $< -c $(CXXFLAGS) $(CPPFLAGS) $(INCDIR) -o $@ -# ------------ Targets ------------------------------------------------- +%.o: %.cc + $(CXX) $< -c $(CXXFLAGS) $(CPPFLAGS) $(INCDIR) -o $@ -all: $(TARGETS) $(LIB_TARGETS) +%.o: %.C + $(CXX) $< -c $(CXXFLAGS) $(CPPFLAGS) $(INCDIR) -o $@ -pulser: $(pulser.OBJS) +# C/C++ Objects (set LD accordingly) +%: %.o @echo LINKING $@ - $(CC) $^ $(LDFLAGS) $(LIBDIR) $(LOADLIBES) -o $@ + $(LD) $^ $(LDFLAGS) $(LIBDIR) $(LOADLIBES) -o $@ @echo DONE! -trb_i2c: $(trb_i2c.OBJS) - @echo LINKING $@ - $(CC) $^ $(LDFLAGS) $(LIBDIR) $(LOADLIBES) -o $@ +# Libaries +%.a: $% + @echo CREATING library $@ + $(AR) $(ARFLAGS) $@ $^ @echo DONE! -trbflash: $(trbflash.OBJS) - @echo LINKING $@ - $(CC) $^ $(LDFLAGS) $(LIBDIR) $(LOADLIBES) -o $@ +%.so: $% + @echo CREATING shared library $@ + $(LD) -shared -O $^ -o $@ @echo DONE! -trbrichcmd: $(trbrichcmd.OBJS) - @echo LINKING $@ - $(CC) $^ $(LDFLAGS) $(LIBDIR) $(LOADLIBES) -o $@ - @echo DONE! +# ------------ Targets ------------------------------------------------- -lib: $(LIB_TARGETS) +.PHONY: all +all: $(LIB_TARGETS) $(TARGETS) +.PHONY: clean +clean: + rm -f *.o core core.* + rcsclean + +.PHONY: distclean distclean: clean rm -f $(TARGETS) $(LIB_TARGETS) rcsclean -u -clean: - rm -f *.o core core.* - rcsclean +.PHONY: depend +depend: + $(CC) -MM $(CFLAGS) $(CPPFLAGS) $(INCDIR) *.c # ------------ Dependencies -------------------------------------------- +pulser: pulser.o pulser.o: pulser.c +trb_i2c: trb_i2c.o trb_i2c.o: trb_i2c.c +trbflash: trbflash.o trbflash.o: trbflash.c +trbrichcmd: trbrichcmd.o trbrichcmd.o: trbrichcmd.c + -- 2.43.0