root / Mulberry / trunk / Linux / Make.header

Revision 54, 3.6 kB (checked in by daboo, 2 years ago)

Get rid of svector (finally).

Line 
1#########################################
2###
3###      M A K E F I L E
4###
5###
6###
7
8
9
10# compiler flags ------------------------------
11
12
13#where does stuff live? Note JX_ROOT and ACE_ROOT don't have
14#to be under DEV_ROOT
15DEV_ROOT=../..
16JX_ROOT = ${DEV_ROOT}/JX
17ACE_ROOT = ${JX_ROOT}/ACE/ACE_wrappers
18export JXLAYOUTDIR = ${JX_ROOT}/programs/jxlayout
19
20SSL_ROOT = /usr/local/ssl
21SSL_INC = -I${SSL_ROOT}/include -I/usr/kerberos/include
22
23HAS_GNUG_3 := $(shell \
24   if { $(CXX) --version | egrep '3\.2' > /dev/null; } \
25   then { echo 1; } \
26   else { echo 0; } fi)
27
28HAS_GNUG_4 := $(shell \
29   if { $(CXX) --version | egrep '4\.1' > /dev/null; } \
30   then { echo 1; } \
31   else { echo 0; } fi)
32
33ifeq ($(HAS_GNUG_4),1)
34# Do nothing
35STL_INC := -fpermissive -Wno-deprecated
36#else
37ifeq ($(HAS_GNUG_3),1)
38#STL_INC := -Wno-deprecated -I${DEV_ROOT}/STLport/stlport
39else
40#STL_INC := -nostdinc++ -I${DEV_ROOT}/STLport/stlport
41endif
42#STL_LIB = -L${DEV_ROOT}/STLport/lib -lstlport_gcc
43endif
44
45#These shouldn't have to be changed
46JX_MAKE_INCLUDE_DIR = ${JX_ROOT}/include/make
47JX_INC = -I${JX_ROOT}/include/jcore \
48                        -I${JX_ROOT}/include/jx \
49                        -I${JX_ROOT}/include/jximage \
50                        -I${ACE_ROOT} \
51                        ${J_INCLUDE_FREETYPE}
52JX_LDFLAGS = -L${JX_ROOT}/lib -L${ACE_ROOT}/ace
53
54include ${JX_MAKE_INCLUDE_DIR}/jx_constants
55include ${JX_MAKE_INCLUDE_DIR}/jx_config
56
57ifneq (${BUILD_NODEBUG},1)
58DFLAGS := -g
59endif
60
61CPP = g++
62CC = g++
63LINKER = ${CPP}
64CFLAGS = ${STL_INC} ${SSL_INC} ${J_RAW_SYSTEM_STUFF} -Wall -Wcast-align -Wno-multichar -Wno-unused \
65        -Wno-unknown-pragmas -Wno-non-virtual-dtor -Wno-ctor-dtor-privacy\
66        ${DFLAGS} -include Sources/Mulberry_Prefix.h ${MULINCS} -D_REENTRANT
67
68ifeq (${BUILD_STATIC},1)
69LINK_STATIC = -Wl,-Bstatic
70LINK_DYNAMIC = -Wl,-Bdynamic
71endif
72EXTRA_LINKS = -lpthread -ldl
73ifeq ($(shell if [ -f /usr/lib/librt.so ]; then echo 1; else echo 0; fi),1)
74        EXTRA_LINKS := ${EXTRA_LINKS} -lrt
75endif
76ifeq ($(shell if [ -f /usr/lib/libgen.so ]; then echo 1; else echo 0; fi),1)
77        EXTRA_LINKS := ${EXTRA_LINKS} -lgen
78endif
79ifeq (${OSTYPE},solaris)
80        EXTRA_LINKS := ${EXTRA_LINKS} -nodefaultlibs -lc -lm -lgcc
81endif
82ifeq ($(shell if [ -f /usr/lib/libresolv.so ]; then echo 1; else echo 0; fi),1)
83        EXTRA_LINKS := ${EXTRA_LINKS} -lresolv
84endif
85
86
87JXLINK =        ${JX_LDFLAGS} \
88                        ${LINK_STATIC} \
89                                -ljx-${JX_LIB_VERSION} \
90                                -ljcore-${JX_LIB_VERSION} \
91                                -lACE-${ACE_LIB_VERSION} \
92                        ${LINK_DYNAMIC} \
93                        ${J_X11_LIBS} \
94                        -lldap -llber \
95                        ${LINK_STATIC} \
96                                ${STL_LIB} \
97                        ${LINK_DYNAMIC} \
98                        ${EXTRA_LINKS}
99
100DEPENDFLAGS = ${CFLAGS}
101MAKEMAKE = makemake
102$./%.o %.o: %.cp
103        @ echo "    ---- Compiling $< (C++)"
104         $(CPP) $(CFLAGS) -c -o $@ $<
105 
106$./%.h %.h: %.fd
107        @ echo "    ---- Generating $< from resource (jxlayout)"
108        jxlayout -cs .cp -cp $(@D) $<
109
110MULINCS = ${JX_INC} -I./Resources \
111-I./Help \
112-I./Sources \
113-I./Includes \
114-I./Sources/Utilities \
115-I../Sources_Common \
116-I../Sources_Common/Utilities \
117-I../../Libraries/CICalendar/Source \
118-I../../Libraries/XMLLib/Source
119
120
121LDFLAGS = -L/usr/X11R6/lib
122
123LOADLIBES = ${JXLINK}
124
125#all: mulberry
126
127static:
128        @${MAKE} "BUILD_STATIC=1" all
129nodebug:
130        @${MAKE} "BUILD_NODEBUG=1" all
131staticnodebug:
132        @${MAKE} "BUILD_STATIC=1" "BUILD_NODEBUG=1" all
133
134Sources/Support/HResourceMap.o: Sources/Support/HResourceMap.cp Resources/xpms.res Resources/xpms.cp
135
136Resources/xmps.res: resources/iconlist.txt
137        Resources/makeresxpms < Resources/iconlist.txt > Resources/xpms.res
138
139Resources/xmps.cp: resources/iconlist.txt
140        Resources/makeresinitxpms < Resources/iconlist.txt > Resources/xpms.cp
141
142../Plug-ins/CRAM-MD5/sources/md5/md5c.o: ../Plug-ins/CRAM-MD5/sources/md5/md5c.c ../Plug-ins/CRAM-MD5/sources/md5/md5.h
143         $(CC) -c -o $@ $<
Note: See TracBrowser for help on using the browser.