svn-gvsig-desktop / trunk / libraries / libjni-gdal-macosx / Makefilemac @ 28541
History | View | Annotate | Download (9.67 KB)
1 | 8219 | nacho | #***************************************************************** |
---|---|---|---|
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 |