ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/BOSS/BossPython/Makefile.in
Revision: 1.14
Committed: Mon Jun 5 11:47:07 2006 UTC (18 years, 10 months ago) by gcodispo
Branch: MAIN
Changes since 1.13: +10 -7 lines
Log Message:
Updated configure for xerces usage

File Contents

# User Rev Content
1 gcodispo 1.1 #
2     # Make file valid only on linux
3     #
4    
5     #####################################
6    
7     # find out in which directory we are
8 gcodispo 1.7 BOSS_ROOT = ..
9 gcodispo 1.1 SRCDIR = .
10 yzhang 1.2 INCLUDEDIR = ../include
11 gcodispo 1.7 COREINCLUDEDIR = $(BOSS_ROOT)/BossCore/include
12     CLIENTINCDIR = $(BOSS_ROOT)/BossClient/include
13     LIBDIR = $(BOSS_ROOT)/lib
14     BINDIR = $(BOSS_ROOT)/bin
15     OSUDIR = $(BOSS_ROOT)/OSUtils
16 gcodispo 1.1 OSUINC = $(OSUDIR)/include
17 gcodispo 1.7 CLADDIR = $(BOSS_ROOT)/ClassAdLite
18 gcodispo 1.1 CLADINC = $(CLADDIR)/include
19 gcodispo 1.7 DBDIR = $(BOSS_ROOT)/SirDB
20 yzhang 1.3 DBINC = $(DBDIR)/include
21 gcodispo 1.1
22 gcodispo 1.7 CLIENTDIR = $(BOSS_ROOT)/BossClient
23 yzhang 1.2 CLIENTINC = $(CLIENTDIR)/include
24    
25     MLDIR = @monalisa_dir@
26     MLINC = @monalisa_inc@
27     MLLIB = @monalisa_lib@
28    
29 gcodispo 1.14 XMLINC = @xml2_inc@
30     XMLLIB = @xml2_lib@
31 gcodispo 1.12 XSLTINC = @xslt_inc@
32     XSLTLIB = @xslt_lib@
33 gcodispo 1.1
34 gcodispo 1.14 XERCESCINC = @xercesc_inc@
35     XERCESCLIB = @xercesc_lib@
36    
37 gcodispo 1.1 PYTHONINC:=`python -c 'from distutils import sysconfig; print sysconfig.get_python_inc()'`
38    
39 yzhang 1.2
40 gcodispo 1.1 # defines the include path
41 gcodispo 1.14 #INCLUDES += -DLOGL1 -DLOGL2 -DLOGL3 -I$(CLIENTINCDIR) -I$(COREINCLUDEDIR) -I$(OSUINC) -I$(CLADINC) -I$(DBINC) -I$(CLIENTINC) -I$(MLINC) -I$(XMLINC) -I$(XSLTINC) -I$(DBINC)
42     INCLUDES += -DLOGL1 -DLOGL2 -DLOGL3 -I$(CLIENTINCDIR) -I$(COREINCLUDEDIR) -I$(OSUINC) -I$(CLADINC) -I$(DBINC) -I$(CLIENTINC) -I$(MLINC) -I$(XERCESCINC) -I$(DBINC)
43 gcodispo 1.1
44     # define the compiler
45 gcodispo 1.7 CXX = @CXX@
46 gcodispo 1.1 AR = ar
47    
48     # define compilation flags to
49 gcodispo 1.7 CXXFLAGS = @CXXFLAGS@ -rdynamic -export-dynamic $(INCLUDES)
50 gcodispo 1.1
51     #define the program to use to make archive library (c++ does it)
52     MKARLIB = $(AR) r
53    
54     # define the program used to build dependencies (again gnu c++ -M(M) -MG)
55     DEPEND = $(CXX) -M -MG
56    
57     # define the loader, and the loading flags
58 gcodispo 1.10 LD = $(CXX) $(CXXFLAGS) -shared
59 gcodispo 1.1
60 yzhang 1.3 # define library search paths
61 gcodispo 1.14 LIB_DIR = -L$(LIBDIR) -L$(MLLIB)
62 gcodispo 1.1
63     # define the library to build
64 yzhang 1.2 #COMMLIB = $(LIBDIR)/libBossComm.a
65 gcodispo 1.1
66     # define sources to be all file with extention .cc
67    
68 yzhang 1.2 BASEOBJS:= $(wildcard $(CLIENTDIR)/src/*.o)
69 gcodispo 1.1
70 yzhang 1.2 # executables
71     TARGET = BossUserSession
72 yzhang 1.6 TARGET2= BossAdministratorSession
73 gcodispo 1.1 #####################################
74    
75     # define our libraries
76    
77     # build the option for the loader (essentially the list of libraries)
78 gcodispo 1.14 #LDFLAGS = $(LIBDIR)/libBossBase.a $(LIBDIR)/libBossComm.a -L$(LIBDIR) -lClassAdLite -lOSUtils -lSirDBSQLite -lSirDBMySQL -lapmoncpp -L$(XMLLIB) -L$(XSLTLIB) -lxslt -lxml2 -lz -lpthread -lm -ldl
79     LDFLAGS = $(LIBDIR)/libBossBase.a $(LIBDIR)/libBossComm.a -L$(LIBDIR) -lClassAdLite -lOSUtils -lSirDBSQLite -lSirDBMySQL -lapmoncpp -L$(XERCESCLIB) -lz -lpthread -lm -ldl
80 yzhang 1.2
81 gcodispo 1.1 #________________________________________________________________
82     # R U L E S
83     #________________________________________________________________
84    
85 yzhang 1.2
86     # build static libraries out of all objects
87    
88     # compile a .cc
89    
90     #---------------------------------------
91    
92     # creates dependencies file
93    
94     # include dependences
95    
96     #include $(SOURCES:.cc=.d)
97    
98     ######
99    
100 gcodispo 1.1 # default is build shared library for a particular package
101     all: build
102    
103 yzhang 1.2 #requires swig version 1.3.x or higher (tested with 1.3.19 and 1.3.21)
104     #to be run before release - removes swig requirement from users machine
105 gcodispo 1.1 generate:
106 yzhang 1.2 swig -python -c++ -I$(INCLUDES) $(TARGET).i
107 yzhang 1.6 swig -python -c++ -I$(INCLUDES) $(TARGET2).i
108 gcodispo 1.1
109 yzhang 1.2 #compiles C++ and python bindings
110 gcodispo 1.1 build:
111 yzhang 1.3 ${CXX} $(CXXFLAGS) -c $(TARGET)_wrap.cxx -I$(PYTHONINC)
112 gcodispo 1.10 ${LD} $(BASEOBJS) $(LDFLAGS) $(LIB_DIR) $(TARGET)_wrap.o -o _$(TARGET).so
113 yzhang 1.2 rm -f $(TARGET)_wrap.o
114 yzhang 1.6 ${CXX} $(CXXFLAGS) -c $(TARGET2)_wrap.cxx -I$(PYTHONINC)
115 gcodispo 1.10 ${LD} $(BASEOBJS) $(LDFLAGS) $(LIB_DIR) $(TARGET2)_wrap.o -o _$(TARGET2).so
116 yzhang 1.6 rm -f $(TARGET2)_wrap.o
117 yzhang 1.2
118     #do both - only use if swig v1.3.x is installed
119 swakef 1.4 full: @swig_generate@ build
120 gcodispo 1.1
121    
122     # clean file left by emacs...
123     rmold:
124     @ rm -f *~
125    
126 yzhang 1.2 clean: rmold
127 yzhang 1.3 rm -f *.o; rm -f *.d; rm -f *.so; rm -f $(TARGET).pyc
128 yzhang 1.6 rm -f *.o; rm -f *.d; rm -f *.so; rm -f $(TARGET2).pyc
129 gcodispo 1.1
130 swakef 1.9 veryclean: clean
131 yzhang 1.3 rm -f $(TARGET).py* $(TARGET)_wrap.cxx
132 yzhang 1.6 rm -f $(TARGET2).py* $(TARGET2)_wrap.cxx
133 gcodispo 1.1