svn-gvsig-desktop / tags / v1_10_0_Build_1255 / libraries / libjni-gdal-macosx / Makefilemac @ 44220
History | View | Annotate | Download (9.67 KB)
1 |
#***************************************************************** |
---|---|
2 |
# |
3 |
# MAKEFILE |
4 |
# $Id: Makefile,v 1.0 2004/11/15 Nacho Brodin |
5 |
# |
6 |
# Project: Wrapper c-java para la libreria gdal |
7 |
# Purpose: Integraci?n de la libreria gdal en c++ de Frank Warmerdam |
8 |
# en el proyecto gvSIG |
9 |
# Author: Ignacio Brodin brodin@telefonica.net |
10 |
# |
11 |
#***************************************************************** |
12 |
|
13 |
#Compiladores y aplicaciones |
14 |
|
15 |
JAVAC = javac |
16 |
JAVAH = javah |
17 |
JAR = jar -cvf |
18 |
CXX = g++ |
19 |
GCC = gcc |
20 |
RM = rm -f |
21 |
RRM = rm -rf |
22 |
#Librerias |
23 |
|
24 |
NOM_LIB = jgdal |
25 |
GDAL_LIB = gdal |
26 |
VERS = 0.4.0 |
27 |
|
28 |
#Directorios |
29 |
|
30 |
INCLUDE = ./include |
31 |
FUENTES = ./src |
32 |
DEST_OBJS = ./bin |
33 |
DISTRIBUCION = ./dist |
34 |
RUTA_PAQUETE_WRGDAL = es/gva/cit/jgdal |
35 |
RUTA_PAQUETE_WRBSB = es/gva/cit/jbsb |
36 |
RUTA_PAQUETE_WROGR = es/gva/cit/jogr |
37 |
RUTA_PAQUETE = es/gva/cit |
38 |
DSTNO_LIB = "/lib" |
39 |
#modificado HM |
40 |
LIB = lib$(NOM_LIB).jnilib |
41 |
IDL_JAVA_GDAL = $(RUTA_PAQUETE_WRGDAL)/Gdal.java |
42 |
DIR_TEST = ./src-test |
43 |
|
44 |
#Opciones |
45 |
|
46 |
#modificado HM: a?adido segundo -I y no-common |
47 |
FLAGS = -Wall -I./include -I/System/Library/Frameworks/JavaVM.framework/Headers -fno-common |
48 |
#HM:no se usa |
49 |
INSTALL = install_lin |
50 |
OBJS = gdal_interfaz.o rasterband_interfaz.o bsb_interfaz.o gdaldriver_interfaz.o ogrspatialreference_interfaz.o \ |
51 |
ogrregisterall_interfaz.o ogrdatasource_interfaz.o ogrenvelope_interfaz.o ogrfeature_interfaz.o ogrfeaturedefn_interfaz.o \ |
52 |
ogrfielddefn_interfaz.o ogrlayer_interfaz.o ogrsfdriver_interfaz.o ogrsfdriverregistrar_interfaz.o ogrtools_interfaz.o \ |
53 |
ogrpolygon_interfaz.o |
54 |
#modificado HM |
55 |
#LIB_DIR=-L../binaries/linux/raster/gdal -L../binaries/linux/raster/ecw |
56 |
#supone GDAL instalado con DarwinPorts ("sudo port install gdal") |
57 |
#LIB_DIR=-L/opt/local/lib |
58 |
LIB_DIR=-L/usr/local/lib |
59 |
#modificado HM |
60 |
#OPC_LINK = $(LIB_DIR) -g -shared -Wl,-soname, |
61 |
#OS X no tiene soname ni shared. Aparte, pide en linker -dynamiclib -framework JavaVM |
62 |
OPC_LINK = $(LIB_DIR) -dynamiclib -g -framework JavaVM -L/Users/mija/gdal-1.3.2/.libs |
63 |
CMS_PROJ=../libCq\ CMS\ for\ java/lib |
64 |
|
65 |
|
66 |
|
67 |
FICHERO_JAR_GDAL = $(NOM_LIB)-$(VERS).jar |
68 |
FICHERO_JAR_BSB = jbsb.jar |
69 |
PAQUETE_GDAL = es.gva.cit.jgdal |
70 |
FTE_HEADER_GDAL = $(PAQUETE_GDAL).Gdal |
71 |
PAQUETE_BSB = es.gva.cit.jbsb |
72 |
FICHERO_JAR_OGR = jogr.jar |
73 |
PAQUETE_OGR = es.gva.cit.jogr |
74 |
|
75 |
|
76 |
|
77 |
all: java header jar $(OBJS) $(LIB) |
78 |
#test |
79 |
|
80 |
all2HM: $(OBJS) $(LIB) |
81 |
|
82 |
|
83 |
#******************************************************************************* |
84 |
|
85 |
|
86 |
$(LIB): $(OBJS) |
87 |
|
88 |
#Generaci?n de libreria jgdal |
89 |
#modificado HM |
90 |
#$(CXX) $(OPC_LINK)$(LIB) -o $(LIB).$(VERS) $(OBJS) -lc $(FLAGS) -lgdal |
91 |
#en OS X, lo normal es tener libNAME.x.y.z.dylib, libNAME.x.dylib, libNAME.dylib |
92 |
#uno de ellos es el real y los demas son symlinks |
93 |
#los jnilib son en realidad dylib |
94 |
#crea el jnilib sin num. de version para simplificar |
95 |
$(CXX) $(OPC_LINK) -o $(LIB) $(OBJS) -lc $(FLAGS) -lgdal |
96 |
|
97 |
if test -f ./$(LIB); then \ |
98 |
cp ./$(LIB) ../binaries/mac; \ |
99 |
mkdir -p $(DISTRIBUCION); \ |
100 |
mv ./$(LIB) $(DISTRIBUCION); \ |
101 |
fi; |
102 |
if test -d $(CMS_PROJ); then \ |
103 |
cp $(DISTRIBUCION)/$(FICHERO_JAR_GDAL) $(CMS_PROJ); \ |
104 |
cp $(DISTRIBUCION)/$(FICHERO_JAR_BSB) $(CMS_PROJ); \ |
105 |
cp $(DISTRIBUCION)/$(FICHERO_JAR_OGR) $(CMS_PROJ); \ |
106 |
fi; |
107 |
|
108 |
gdal_interfaz.o: |
109 |
$(GCC) -c $(FUENTES)/gdal_interfaz.c $(FLAGS) |
110 |
|
111 |
rasterband_interfaz.o: |
112 |
$(GCC) -c $(FUENTES)/rasterband_interfaz.c $(FLAGS) |
113 |
|
114 |
gdaldriver_interfaz.o: |
115 |
$(GCC) -c $(FUENTES)/gdaldriver_interfaz.c $(FLAGS) |
116 |
|
117 |
ogrspatialreference_interfaz.o: |
118 |
$(GCC) -c $(FUENTES)/ogrspatialreference_interfaz.c $(FLAGS) |
119 |
|
120 |
ogrregisterall_interfaz.o: |
121 |
$(CXX) -c $(FUENTES)/ogrregisterall_interfaz.cpp $(FLAGS) |
122 |
|
123 |
bsb_interfaz.o: |
124 |
$(GCC) -c $(FUENTES)/bsb_interfaz.c $(FLAGS) |
125 |
|
126 |
ogrdatasource_interfaz.o: |
127 |
$(GCC) -c $(FUENTES)/ogrdatasource_interfaz.cpp $(FLAGS) |
128 |
|
129 |
ogrenvelope_interfaz.o: |
130 |
$(CXX) -c $(FUENTES)/ogrenvelope_interfaz.cpp $(FLAGS) |
131 |
|
132 |
ogrfeature_interfaz.o: |
133 |
$(CXX) -c $(FUENTES)/ogrfeature_interfaz.cpp $(FLAGS) |
134 |
|
135 |
ogrfeaturedefn_interfaz.o: |
136 |
$(CXX) -c $(FUENTES)/ogrfeaturedefn_interfaz.cpp $(FLAGS) |
137 |
|
138 |
ogrfielddefn_interfaz.o: |
139 |
$(CXX) -c $(FUENTES)/ogrfielddefn_interfaz.cpp $(FLAGS) |
140 |
|
141 |
ogrlayer_interfaz.o: |
142 |
$(CXX) -c $(FUENTES)/ogrlayer_interfaz.cpp $(FLAGS) |
143 |
|
144 |
ogrsfdriver_interfaz.o: |
145 |
$(CXX) -c $(FUENTES)/ogrsfdriver_interfaz.cpp $(FLAGS) |
146 |
|
147 |
ogrsfdriverregistrar_interfaz.o: |
148 |
$(CXX) -c $(FUENTES)/ogrsfdriverregistrar_interfaz.cpp $(FLAGS) |
149 |
|
150 |
ogrtools_interfaz.o: |
151 |
$(CXX) -c $(FUENTES)/ogrtools_interfaz.cpp $(FLAGS) |
152 |
|
153 |
ogrpolygon_interfaz.o: |
154 |
$(CXX) -c $(FUENTES)/ogrpolygon_interfaz.cpp $(FLAGS) |
155 |
|
156 |
#******************************************************************************* |
157 |
|
158 |
|
159 |
jar: |
160 |
|
161 |
#Generaci?n del jar con las clases java |
162 |
|
163 |
$(JAR) $(DISTRIBUCION)/$(FICHERO_JAR_GDAL) -C $(DEST_OBJS)/ $(RUTA_PAQUETE_WRGDAL) |
164 |
$(JAR) $(DISTRIBUCION)/$(FICHERO_JAR_BSB) -C $(DEST_OBJS)/ $(RUTA_PAQUETE_WRBSB) |
165 |
$(JAR) $(DISTRIBUCION)/$(FICHERO_JAR_OGR) -C $(DEST_OBJS)/ $(RUTA_PAQUETE_WROGR) |
166 |
|
167 |
|
168 |
#******************************************************************************* |
169 |
|
170 |
install: |
171 |
|
172 |
#instalamos la libreria gdal |
173 |
|
174 |
@if test -f $(DIR_LIB)/$(LIB); then \ |
175 |
$(RM) $(DIR_LIB)/$(LIB); \ |
176 |
fi; |
177 |
@if test -f $(DIR_LIB)/$(LIB).$(VERS); then \ |
178 |
$(RM) $(DIR_LIB)/$(LIB).$(VERS); \ |
179 |
fi; |
180 |
cp $(DISTRIBUCION)/$(LIB).$(VERS) $(DSTNO_LIB) |
181 |
ln -fs $(DSTNO_LIB)/$(LIB).$(VERS) $(DSTNO_LIB)/$(LIB) |
182 |
|
183 |
|
184 |
#******************************************************************************* |
185 |
|
186 |
header: |
187 |
|
188 |
#Generaci?n de cabeceras C para el wrapper |
189 |
|
190 |
$(JAVAH) -classpath "$(DEST_OBJS)" -d $(INCLUDE) $(FTE_HEADER_GDAL) |
191 |
$(JAVAH) -classpath "$(DEST_OBJS)" -d $(INCLUDE) $(PAQUETE_GDAL).GdalRasterBand \ |
192 |
$(PAQUETE_GDAL).GdalDriver $(PAQUETE_GDAL).JNIBase $(PAQUETE_BSB).Bsb |
193 |
$(JAVAH) -classpath "$(DEST_OBJS)" -d $(INCLUDE) $(PAQUETE_OGR).OGRRegisterAll $(PAQUETE_OGR).OGRDataSource \ |
194 |
$(PAQUETE_OGR).OGREnvelope $(PAQUETE_OGR).OGRFeature $(PAQUETE_OGR).OGRFeatureDefn $(PAQUETE_OGR).OGRLayer \ |
195 |
$(PAQUETE_OGR).OGRSFDriver $(PAQUETE_OGR).OGRSFDriverRegistrar $(PAQUETE_OGR).OGRFieldDefn $(PAQUETE_OGR).JNIBase \ |
196 |
$(PAQUETE_OGR).OGRSpatialReference $(PAQUETE_OGR).OGRTools $(PAQUETE_OGR).OGRPolygon |
197 |
|
198 |
|
199 |
java: |
200 |
|
201 |
|
202 |
#Compilaci?n de los ficheros java gdal |
203 |
|
204 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalBuffer.java -d $(DEST_OBJS) |
205 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalException.java -d $(DEST_OBJS) |
206 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalDriver.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/JNIBase.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/Gdal.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalColorEntry.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalColorTable.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GeoTransform.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalRasterBand.java -d $(DEST_OBJS) $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/Options.java -classpath "$(DEST_OBJS)" |
207 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/GdalTools.java $(FUENTES)/$(RUTA_PAQUETE_WRGDAL)/JNIBase.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" |
208 |
|
209 |
#Compilaci?n de OGR |
210 |
|
211 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRFailureException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRNotEnoughDataException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRNotEnoughMemoryException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRUnsupportedGeometryTypeException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRUnsupportedOperationException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRUnsupportedSRSException.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRCorruptDataException.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" |
212 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WROGR)/JNIBase.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRCoordinateTransformation.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRLayerAttrIndex.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRField.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRGeometry.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRStyleTable.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRFieldType.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRRegisterAll.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRSpatialReference.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRDataSource.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGREnvelope.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRFeature.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRFeatureDefn.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRFieldDefn.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRLayer.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRSFDriver.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRSFDriverRegistrar.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" |
213 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRTools.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRSurface.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRPoint.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRPolygon.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRGeometryFactory.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRMultiPoint.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRLineString.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRMultiPolygon.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRMultiLineString.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRLinearRing.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRGeometryCollection.java $(FUENTES)/$(RUTA_PAQUETE_WROGR)/OGRCurve.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" |
214 |
|
215 |
#Compilaci?n de los ficheros java bsb |
216 |
|
217 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRBSB)/BsbInfo.java -d $(DEST_OBJS) |
218 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRBSB)/BsbException.java -d $(DEST_OBJS) |
219 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRBSB)/BsbBuffer.java -d $(DEST_OBJS) |
220 |
$(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRBSB)/Bsb.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" |
221 |
|
222 |
|
223 |
#******************************************************************************* |
224 |
|
225 |
test: |
226 |
cd $(DIR_TEST); \ |
227 |
$(MAKE) all; \ |
228 |
cd ..; |
229 |
|
230 |
|
231 |
#******************************************************************************* |
232 |
.PHONY: clean |
233 |
clean: |
234 |
|
235 |
#Borrando objetos y librerias |
236 |
|
237 |
$(RM) $(OBJS) |
238 |
$(RM) $(DISTRIBUCION)/$(LIB).$(VERS); |
239 |
$(RM) $(DISTRIBUCION)/$(FICHERO_JAR_GDAL); |
240 |
$(RM) $(DISTRIBUCION)/$(FICHERO_JAR_BSB); |
241 |
$(RM) $(DISTRIBUCION)/$(FICHERO_JAR_OGR); |
242 |
$(RM) $(DISTRIBUCION)/$(FICHERO_JAR_OGR); |
243 |
$(RRM) $(DEST_OBJS)/*; |
244 |
|
245 |
|
246 |
|