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 EROSCXX
|
---|
7 | CXX := $(EROSCXX)
|
---|
8 | endif
|
---|
9 |
|
---|
10 | SYSNOM = $(shell echo `uname`)
|
---|
11 | SYSCOMPNOM = $(SYSNOM)-$(CXX)
|
---|
12 |
|
---|
13 | $(OBJ)%.o:%.cc
|
---|
14 | $(COMPILE.cc) -o $@ $<
|
---|
15 |
|
---|
16 | $(OBJ)%.o:%.cpp
|
---|
17 | $(COMPILE.cc) -o $@ $<
|
---|
18 |
|
---|
19 | # Flag pour compilo DEC-cxx (Compaq)
|
---|
20 | ifeq ($(CXX),cxx)
|
---|
21 | CPPFLAGS := -I. -pthread -nopt -distinguish_nested_enums
|
---|
22 | endif
|
---|
23 |
|
---|
24 | AR = ar
|
---|
25 | ARFLAGS = -rcs
|
---|
26 |
|
---|
27 | LIB = Objs/
|
---|
28 | OBJ = Objs/
|
---|
29 |
|
---|
30 | 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
|
---|
31 |
|
---|
32 | SYSLIBS = -lpthread
|
---|
33 |
|
---|
34 | # ---------------- Building Library
|
---|
35 | all: rep $(LIB)libJTC.a $(LIB)libJTC.so
|
---|
36 |
|
---|
37 | rep :
|
---|
38 | if (test ! -d Objs) then mkdir Objs ; fi
|
---|
39 |
|
---|
40 | $(LIB)libJTC.a : $(OBJLIST)
|
---|
41 | $(AR) $(ARFLAGS) $(LIB)libJTC.a $(OBJLIST)
|
---|
42 | ifeq ($(CXX),cxx)
|
---|
43 | $(CXX) $? $(CPPFLAGS) $(CXXFLAGS) -o $(OBJ)xx.x -Hf
|
---|
44 | endif
|
---|
45 |
|
---|
46 | $(LIB)libJTC.so : $(LIB)libJTC.a
|
---|
47 | $(CXX) -shared -o $(LIB)libJTC.so $(OBJLIST) $(SYSLIBS)
|
---|
48 |
|
---|
49 | # ---------------- Cleaning
|
---|
50 | clean:
|
---|
51 | rm -rf Objs
|
---|
52 |
|
---|
53 | # --------------- Installing
|
---|
54 | install:
|
---|
55 | if (test ! -d $(JTCBASEREP)/Include) then mkdir $(JTCBASEREP)/Include ; fi
|
---|
56 | if (test ! -d $(JTCBASEREP)/Include/JTC) then mkdir $(JTCBASEREP)/Include/JTC ; fi
|
---|
57 | cp JTC/*.h $(JTCBASEREP)/Include/JTC
|
---|
58 | if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM) ; fi
|
---|
59 | if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)/Libs) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM)/Libs ; fi
|
---|
60 | if (test ! -d $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs) then mkdir $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs ; fi
|
---|
61 | cp Objs/libJTC.a $(JTCBASEREP)/$(SYSCOMPNOM)/Libs
|
---|
62 | cp Objs/libJTC.so $(JTCBASEREP)/$(SYSCOMPNOM)/ShLibs
|
---|
63 |
|
---|
64 | $(OBJ)Cond.o : Cond.cpp
|
---|
65 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
66 | $(OBJ)Event.o : Event.cpp
|
---|
67 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
68 | $(OBJ)License.o : License.cpp
|
---|
69 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
70 | $(OBJ)Monitor.o : Monitor.cpp
|
---|
71 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
72 | $(OBJ)Mutex.o : Mutex.cpp
|
---|
73 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
74 | $(OBJ)TSS.o : TSS.cpp
|
---|
75 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
76 | $(OBJ)TSSManager.o : TSSManager.cpp
|
---|
77 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
78 | $(OBJ)Thread.o : Thread.cpp
|
---|
79 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
80 | $(OBJ)ThreadGroup.o : ThreadGroup.cpp
|
---|
81 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
82 | $(OBJ)Version.o : Version.cpp
|
---|
83 | $(CXX) $(CPPFLAGS) -c -o $@ $<
|
---|
84 |
|
---|