# Makefile for building JTC JThreads/C++ # Source code from Object Oriented Concepts www.ooc.com # R. Ansari LAL-IN2P3/CNRS CXX := g++ ifdef EROSCXX CXX := $(EROSCXX) endif SYSNOM = $(shell echo `uname`) SYSCOMPNOM = $(SYSNOM)-$(CXX) $(OBJ)%.o:%.cc $(COMPILE.cc) -o $@ $< $(OBJ)%.o:%.cpp $(COMPILE.cc) -o $@ $< # Flag pour compilo DEC-cxx (Compaq) ifeq ($(CXX),cxx) CPPFLAGS := -I. -pthread -nopt -distinguish_nested_enums endif AR = ar ARFLAGS = -rcs LIB = Objs/ OBJ = Objs/ OBJLIST = $(OBJ)Cond.o $(OBJ)Event.o $(OBJ)License.o $(OBJ)Monitor.o $(OBJ)Mutex.o $(OBJ)TSS.o $(OBJ)TSSManager.o $(OBJ)Thread.o $(OBJ)ThreadGroup.o $(OBJ)Version.o SYSLIBS = -lpthread # ---------------- Building Library all: rep $(LIB)libJTC.a $(LIB)libJTC.so rep : if (test ! -d Objs) then mkdir Objs ; fi $(LIB)libJTC.a : $(OBJLIST) $(AR) $(ARFLAGS) $(LIB)libJTC.a $(OBJLIST) ifeq ($(CXX),cxx) $(CXX) $? $(CPPFLAGS) $(CXXFLAGS) -o $(OBJ)xx.x -Hf endif $(LIB)libJTC.so : $(LIB)libJTC.a $(CXX) -shared -o $(LIB)libJTC.so $(OBJLIST) $(SYSLIBS) # ---------------- Cleaning clean: rm -rf Objs # --------------- Installing install: if (test ! -d $(JTCBASEREP)/Include) then mkdir $(JTCBASEREP)/Include ; fi if (test ! -d $(JTCBASEREP)/Include/JTC) then mkdir $(JTCBASEREP)/Include/JTC ; fi cp JTC/*.h $(JTCBASEREP)/Include/JTC if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM) ; fi if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)/Libs) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM)/Libs ; fi if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs ; fi cp Objs/libJTC.a $(JTCBASEREP)/$(SYSCOMPNOM)/Libs cp Objs/libJTC.so $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs $(OBJ)Cond.o : Cond.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)Event.o : Event.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)License.o : License.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)Monitor.o : Monitor.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)Mutex.o : Mutex.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)TSS.o : TSS.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)TSSManager.o : TSSManager.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)Thread.o : Thread.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)ThreadGroup.o : ThreadGroup.cpp $(CXX) $(CPPFLAGS) -c -o $@ $< $(OBJ)Version.o : Version.cpp $(CXX) $(CPPFLAGS) -c -o $@ $<