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 |
|
---|