source: Sophya/trunk/SophyaExt/JThreadsC++/JTCSrc/Makefile.mgr@ 2735

Last change on this file since 2735 was 2735, checked in by cmv, 20 years ago

memorisation makefile old-fashion Mgr cmv 19/05/05

File size: 2.6 KB
Line 
1# Makefile for building JTC JThreads/C++
2# Source code from Object Oriented Concepts www.ooc.com
3# R. Ansari LAL-IN2P3/CNRS
4
5CXX := g++
6ifdef SOPHYACXX
7 CXX := $(SOPHYACXX)
8endif
9
10SYSNOM = $(shell echo `uname`)
11SYSNOMD = $(shell echo `uname | sed 's/-//'`)
12SYSCOMPNOM = $(SYSNOM)-$(CXX)
13
14$(OBJ)%.o:%.cc
15 $(COMPILE.cc) -o $@ $<
16
17$(OBJ)%.o:%.cpp
18 $(COMPILE.cc) -o $@ $<
19
20CPPFLAGS := -I. -D$(SYSNOMD)
21# Flag pour compilo DEC-cxx (Compaq)
22ifeq ($(CXX),cxx)
23 CPPFLAGS := $(CPPFLAGS) -pthread -nopt -distinguish_nested_enums
24endif
25
26AR = ar
27ARFLAGS = -rcs
28
29LIB = Objs/
30OBJ = Objs/
31
32OBJLIST = $(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
35CMDSLB := $(CXX) -shared
36SYSLIBS := -lpthread
37ifeq ($(CXX),KCC)
38 CMDSLB := $(CXX)
39endif
40
41# ---------------- Building Library
42all: rep $(LIB)libJTC.a $(LIB)libJTC.so
43
44rep :
45 if (test ! -d Objs) then mkdir Objs ; fi
46
47$(LIB)libJTC.a : $(OBJLIST)
48 $(AR) $(ARFLAGS) $(LIB)libJTC.a $(OBJLIST)
49ifeq ($(CXX),cxx)
50 $(CXX) $? $(CPPFLAGS) $(CXXFLAGS) -o $(OBJ)xx.x -Hf
51endif
52
53$(LIB)libJTC.so : $(LIB)libJTC.a
54 $(CMDSLB) -o $(LIB)libJTC.so $(OBJLIST) $(SYSLIBS)
55
56# ---------------- Cleaning
57clean:
58 rm -rf Objs
59
60# --------------- Installing
61install:
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
Note: See TracBrowser for help on using the repository browser.