]> jspc29.x-matter.uni-frankfurt.de Git - trbnettools.git/commitdiff
new Makefile
authorhadaq <hadaq>
Fri, 23 Apr 2010 18:51:42 +0000 (18:51 +0000)
committerhadaq <hadaq>
Fri, 23 Apr 2010 18:51:42 +0000 (18:51 +0000)
trbrich/Makefile

index 39d7f0202945d0810481769e7b85d2b7551adb19..92889910f57d123de258398f03ca907e576de80d 100644 (file)
@@ -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
+