[2735] | 1 | # Makefile for building JTC JThreads/C++
|
---|
| 2 | # Source code from Object Oriented Concepts www.ooc.com
|
---|
| 3 | # R. Ansari LAL-IN2P3/CNRS
|
---|
| 4 |
|
---|
| 5 | CXX := g++
|
---|
| 6 | ifdef SOPHYACXX
|
---|
| 7 | CXX := $(SOPHYACXX)
|
---|
| 8 | endif
|
---|
| 9 |
|
---|
| 10 | SYSNOM = $(shell echo `uname`)
|
---|
| 11 | SYSNOMD = $(shell echo `uname | sed 's/-//'`)
|
---|
| 12 | SYSCOMPNOM = $(SYSNOM)-$(CXX)
|
---|
| 13 |
|
---|
| 14 | $(OBJ)%.o:%.cc
|
---|
| 15 | $(COMPILE.cc) -o $@ $<
|
---|
| 16 |
|
---|
| 17 | $(OBJ)%.o:%.cpp
|
---|
| 18 | $(COMPILE.cc) -o $@ $<
|
---|
| 19 |
|
---|
| 20 | CPPFLAGS := -I. -D$(SYSNOMD)
|
---|
| 21 | # Flag pour compilo DEC-cxx (Compaq)
|
---|
| 22 | ifeq ($(CXX),cxx)
|
---|
| 23 | CPPFLAGS := $(CPPFLAGS) -pthread -nopt -distinguish_nested_enums
|
---|
| 24 | endif
|
---|
| 25 |
|
---|
| 26 | AR = ar
|
---|
| 27 | ARFLAGS = -rcs
|
---|
| 28 |
|
---|
| 29 | LIB = Objs/
|
---|
| 30 | OBJ = Objs/
|
---|
| 31 |
|
---|
| 32 | 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
|
---|
| 33 |
|
---|
| 34 | # Fabrication de shared lib
|
---|
| 35 | CMDSLB := $(CXX) -shared
|
---|
| 36 | SYSLIBS := -lpthread
|
---|
| 37 | ifeq ($(CXX),KCC)
|
---|
| 38 | CMDSLB := $(CXX)
|
---|
| 39 | endif
|
---|
| 40 |
|
---|
| 41 | # ---------------- Building Library
|
---|
| 42 | all: rep $(LIB)libJTC.a $(LIB)libJTC.so
|
---|
| 43 |
|
---|
| 44 | rep :
|
---|
| 45 | if (test ! -d Objs) then mkdir Objs ; fi
|
---|
| 46 |
|
---|
| 47 | $(LIB)libJTC.a : $(OBJLIST)
|
---|
| 48 | $(AR) $(ARFLAGS) $(LIB)libJTC.a $(OBJLIST)
|
---|
| 49 | ifeq ($(CXX),cxx)
|
---|
| 50 | $(CXX) $? $(CPPFLAGS) $(CXXFLAGS) -o $(OBJ)xx.x -Hf
|
---|
| 51 | endif
|
---|
| 52 |
|
---|
| 53 | $(LIB)libJTC.so : $(LIB)libJTC.a
|
---|
| 54 | $(CMDSLB) -o $(LIB)libJTC.so $(OBJLIST) $(SYSLIBS)
|
---|
| 55 |
|
---|
| 56 | # ---------------- Cleaning
|
---|
| 57 | clean:
|
---|
| 58 | rm -rf Objs
|
---|
| 59 |
|
---|
| 60 | # --------------- Installing
|
---|
| 61 | install:
|
---|
| 62 | if (test ! -d $(JTCBASEREP)/Include) then mkdir $(JTCBASEREP)/Include ; fi
|
---|
| 63 | if (test ! -d $(JTCBASEREP)/Include/JTC) then mkdir $(JTCBASEREP)/Include/JTC ; fi
|
---|
| 64 | cp JTC/*.h $(JTCBASEREP)/Include/JTC
|
---|
| 65 | chmod a+r $(JTCBASEREP)/Include/JTC/*
|
---|
| 66 | if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM) ; fi
|
---|
| 67 | if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)/Libs) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM)/Libs ; fi
|
---|
| 68 | if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs ; fi
|
---|
| 69 | cp Objs/libJTC.a $(JTCBASEREP)/$(SYSCOMPNOM)/Libs
|
---|
| 70 | cp Objs/libJTC.so $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs
|
---|
| 71 | chmod a+r $(JTCBASEREP)/$(SYSCOMPNOM)/Libs/libJTC.a
|
---|
| 72 | chmod a+r $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs/libJTC.so
|
---|
| 73 |
|
---|
| 74 | $(OBJ)Cond.o : Cond.cpp
|
---|
| 75 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 76 | $(OBJ)Event.o : Event.cpp
|
---|
| 77 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 78 | $(OBJ)License.o : License.cpp
|
---|
| 79 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 80 | $(OBJ)Monitor.o : Monitor.cpp
|
---|
| 81 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 82 | $(OBJ)Mutex.o : Mutex.cpp
|
---|
| 83 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 84 | $(OBJ)TSS.o : TSS.cpp
|
---|
| 85 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 86 | $(OBJ)TSSManager.o : TSSManager.cpp
|
---|
| 87 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 88 | $(OBJ)Thread.o : Thread.cpp
|
---|
| 89 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 90 | $(OBJ)ThreadGroup.o : ThreadGroup.cpp
|
---|
| 91 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 92 | $(OBJ)Version.o : Version.cpp
|
---|
| 93 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
| 94 |
|
---|