Statistics
| Revision:

svn-gvsig-desktop / tags / v2_0_0_Build_2001 / libraries / libjni-gdal-macosx / Makefilemac @ 32770

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