ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/BOSS/BossPython/Makefile.in
Revision: 1.7
Committed: Wed May 10 13:02:39 2006 UTC (18 years, 11 months ago) by gcodispo
Branch: MAIN
Changes since 1.6: +12 -12 lines
Log Message:
moved from BOSSDIR to BOSS_ROOT

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.1 XMLINC = `xml2-config --cflags`
30     XMLLIB = `xml2-config --libs`
31     XSLTINC = `xslt-config --cflags`
32 yzhang 1.2 XSLTLIB = `xslt-config --libs`
33 gcodispo 1.1
34     PYTHONINC:=`python -c 'from distutils import sysconfig; print sysconfig.get_python_inc()'`
35    
36 yzhang 1.2
37 gcodispo 1.1 # defines the include path
38 gcodispo 1.5 INCLUDES += -DLOGL1 -DLOGL2 -DLOGL3 -I$(CLIENTINCDIR) -I$(COREINCLUDEDIR) -I$(OSUINC) -I$(CLADINC) -I$(DBINC) -I$(CLIENTINC) -I$(MLINC) $(XMLINC) $(XSLTINC) -I$(DBINC)
39 gcodispo 1.1
40     # define the compiler
41 gcodispo 1.7 CXX = @CXX@
42 gcodispo 1.1 AR = ar
43    
44     # define compilation flags to
45 gcodispo 1.7 CXXFLAGS = @CXXFLAGS@ -rdynamic -export-dynamic $(INCLUDES)
46 gcodispo 1.1
47     #define the program to use to make archive library (c++ does it)
48     MKARLIB = $(AR) r
49    
50     # define the program used to build dependencies (again gnu c++ -M(M) -MG)
51     DEPEND = $(CXX) -M -MG
52    
53     # define the loader, and the loading flags
54 gcodispo 1.7 LD = $(CXX)
55 gcodispo 1.1
56 yzhang 1.3 # define library search paths
57     LIB_DIR = -L$(LIBDIR) -L$(MLLIB) -rdynamic -export-dynamic
58 gcodispo 1.1
59     # define the library to build
60 yzhang 1.2 #COMMLIB = $(LIBDIR)/libBossComm.a
61 gcodispo 1.1
62     # define sources to be all file with extention .cc
63    
64 yzhang 1.2 BASEOBJS:= $(wildcard $(CLIENTDIR)/src/*.o)
65 gcodispo 1.1
66 yzhang 1.2 # executables
67     TARGET = BossUserSession
68 yzhang 1.6 TARGET2= BossAdministratorSession
69 gcodispo 1.1 #####################################
70    
71     # define our libraries
72    
73     # build the option for the loader (essentially the list of libraries)
74 yzhang 1.3 LDFLAGS = $(LIBDIR)/libBossBase.a $(LIBDIR)/libBossBase.a -lClassAdLite -lOSUtils $(XMLLIB) $(XSLTLIB) -lapmoncpp
75 yzhang 1.2
76 gcodispo 1.1 #________________________________________________________________
77     # R U L E S
78     #________________________________________________________________
79    
80 yzhang 1.2
81     # build static libraries out of all objects
82    
83     # compile a .cc
84    
85     #---------------------------------------
86    
87     # creates dependencies file
88    
89     # include dependences
90    
91     #include $(SOURCES:.cc=.d)
92    
93     ######
94    
95 gcodispo 1.1 # default is build shared library for a particular package
96     all: build
97    
98 yzhang 1.2 #requires swig version 1.3.x or higher (tested with 1.3.19 and 1.3.21)
99     #to be run before release - removes swig requirement from users machine
100 gcodispo 1.1 generate:
101 yzhang 1.2 swig -python -c++ -I$(INCLUDES) $(TARGET).i
102 yzhang 1.6 swig -python -c++ -I$(INCLUDES) $(TARGET2).i
103 gcodispo 1.1
104 yzhang 1.2 #compiles C++ and python bindings
105 gcodispo 1.1 build:
106 yzhang 1.3 ${CXX} $(CXXFLAGS) -c $(TARGET)_wrap.cxx -I$(PYTHONINC)
107 gcodispo 1.5 ${LD} $(BASEOBJS) $(LDFLAGS) $(LIB_DIR) $(TARGET)_wrap.o -o _$(TARGET).so
108 yzhang 1.2 rm -f $(TARGET)_wrap.o
109 yzhang 1.6 ${CXX} $(CXXFLAGS) -c $(TARGET2)_wrap.cxx -I$(PYTHONINC)
110     ${LD} $(BASEOBJS) $(LDFLAGS) $(LIB_DIR) $(TARGET2)_wrap.o -o _$(TARGET2).so
111     rm -f $(TARGET2)_wrap.o
112 yzhang 1.2
113     #do both - only use if swig v1.3.x is installed
114 swakef 1.4 full: @swig_generate@ build
115 gcodispo 1.1
116    
117     # clean file left by emacs...
118     rmold:
119     @ rm -f *~
120    
121 yzhang 1.2 clean: rmold
122 yzhang 1.3 rm -f *.o; rm -f *.d; rm -f *.so; rm -f $(TARGET).pyc
123 yzhang 1.6 rm -f *.o; rm -f *.d; rm -f *.so; rm -f $(TARGET2).pyc
124 gcodispo 1.1
125 yzhang 1.6 veryclemn: clean
126 yzhang 1.3 rm -f $(TARGET).py* $(TARGET)_wrap.cxx
127 yzhang 1.6 rm -f $(TARGET2).py* $(TARGET2)_wrap.cxx
128 gcodispo 1.1