#***************************************************************** # # MAKEFILE # $Id: Makefile,v 1.0 2004/11/15 Nacho Brodin # # Project: Wrapper c-java para la libreria gdal # Purpose: Integración de la libreria bsb en c++ de Frank Warmerdam # en el proyecto gvSIG # Author: Ignacio Brodin brodin@telefonica.net # #***************************************************************** #Compiladores y aplicaciones JAVAC = javac JAVAH = javah JAVADOC = javadoc JAR = jar -cvf CC = g++ GCC = gcc RM = rm -f RRM = rm -rf #Librerias NOM_LIB = jmrsid VERS = 0.1.0 #Directorios INCLUDE = ./include FUENTES = ./src DEST_OBJS = ./bin DISTRIBUCION = ./dist RUTA_PAQUETE_WRMRSID = es/gva/cit/jmrsid DIR_TEST = ./src-test DOCUMENTACION = ./doc CMS_PROJ=../libCq\ CMS\ for\ java/lib RUTA_PAQUETE = es/gva/cit DSTNO_LIB = /lib LIB = lib$(NOM_LIB).jnilib #Opciones FLAGS = -Wall -I./include -I/System/Library/Frameworks/JavaVM.framework/Headers -fno-common #no se usa #INSTALL = install_lin OBJS = mrsidimagereader.o ltiimage.o ltimetadatadatabase.o ltipixel.o ltiscene.o ltiscenebuffer.o ltiimagestage.o ltimetadatarecord.o ltiutils.o mrsidimagereaderbase.o #no se usa (que coja dirs por defecto) #LIB_DIR=-L../binaries/linux/raster/mrsid LIB_DIR=-LlibmrSID5 #modificado HM #OPC_LINK = $(LIB_DIR) -g -shared -Wl,-soname, OPC_LINK = $(LIB_DIR) -g -dynamiclib -framework JavaVM INCLUDES = -I./include/base -I./include/writers -I./include/metadata -I./include/mrsid_readers -I./include/j2k_readers -I./include/support -D_REENTRANT -I./include -I/usr/include/sys #-I/usr/include/malloc FICHERO_JAR_MRSID = $(NOM_LIB)-$(VERS).jar PAQUETE_MRSID = es.gva.cit.jmrsid all: clean java header jar $(LIB) #******************************************************************************* $(LIB): $(OBJS) #Generación de libreria mrsid #modificado HM #$(CC) $(OPC_LINK)$(LIB) -o $(LIB).$(VERS) $(OBJS) -lc $(FLAGS) -lltidsdk $(CC) $(OPC_LINK) -o $(LIB) $(OBJS) -lc $(FLAGS) -lltidsdk -lgdal #-lltikdu if test -f ./$(LIB); then \ cp ./$(LIB) ../binaries/mac; \ mkdir -p $(DISTRIBUCION); \ mv ./$(LIB) $(DISTRIBUCION); \ fi; if test -d $(CMS_PROJ); then \ cp $(DISTRIBUCION)/$(FICHERO_JAR_MRSID) $(CMS_PROJ); \ fi; mrsidimagereader.o: $(CC) $(INCLUDES) -c $(FUENTES)/mrsidimagereader.cpp $(FLAGS) ltiimage.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltiimage.cpp $(FLAGS) ltimetadatadatabase.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltimetadatadatabase.cpp $(FLAGS) ltipixel.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltipixel.cpp $(FLAGS) ltiscene.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltiscene.cpp $(FLAGS) ltiscenebuffer.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltiscenebuffer.cpp $(FLAGS) ltiimagestage.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltiimagestage.cpp $(FLAGS) ltimetadatarecord.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltimetadatarecord.cpp $(FLAGS) ltiutils.o: $(CC) $(INCLUDES) -c $(FUENTES)/ltiutils.cpp $(FLAGS) mrsidimagereaderbase.o: $(CC) $(INCLUDES) -c $(FUENTES)/mrsidimagereaderbase.cpp $(FLAGS) #******************************************************************************* jar: #Generación del jar con las clases java $(JAR) $(DISTRIBUCION)/$(FICHERO_JAR_MRSID) -C $(DEST_OBJS)/ $(RUTA_PAQUETE_WRMRSID) #******************************************************************************* docu: $(JAVADOC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/*.java -d $(DOCUMENTACION)/mrsid -classpath $(DISTRIBUCION)/$(JAR_MRSID) #******************************************************************************* install: #instalamos la libreria mrsid @if test -f $(DIR_LIB)/$(LIB); then \ $(RM) $(DIR_LIB)/$(LIB); \ fi; @if test -f $(DIR_LIB)/$(LIB).$(VERS); then \ $(RM) $(DIR_LIB)/$(LIB).$(VERS); \ fi; cp $(DISTRIBUCION)/$(LIB).$(VERS) $(DSTNO_LIB) ln -fs $(DSTNO_LIB)/$(LIB).$(VERS) $(DSTNO_LIB)/$(LIB) #******************************************************************************* header: #Generación de cabeceras C para el wrapper $(JAVAH) -classpath "$(DEST_OBJS)" -d $(INCLUDE) $(PAQUETE_MRSID).JNIBase $(PAQUETE_MRSID).MrSIDImageReader \ $(PAQUETE_MRSID).LTIImage $(PAQUETE_MRSID).LTIMetadataDatabase $(PAQUETE_MRSID).LTIPixel $(PAQUETE_MRSID).LTIScene \ $(PAQUETE_MRSID).LTISceneBuffer $(PAQUETE_MRSID).LTIImageStage $(PAQUETE_MRSID).LTIMetadataRecord $(PAQUETE_MRSID).LTIUtils java: #Compilación de los ficheros java gdal $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/MrSIDException.java -d $(DEST_OBJS) $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIColorSpace.java -d $(DEST_OBJS) $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIDataType.java -d $(DEST_OBJS) $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/JNIBase.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIPixel.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTISceneBuffer.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/StringArray.java $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIScene.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIMetadataRecord.java $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIMetadataDatabase.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIGeoCoord.java $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIImage.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIImageStage.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIImageReader.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/MrSIDImageReaderBase.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/MrSIDImageReader.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" $(JAVAC) $(FUENTES)/$(RUTA_PAQUETE_WRMRSID)/LTIUtils.java -d $(DEST_OBJS) -classpath "$(DEST_OBJS)" #******************************************************************************* test: cd $(DIR_TEST); \ $(MAKE) all; \ cd ..; #******************************************************************************* clean: #Borrando objetos y librerias $(RM) $(OBJS) $(RM) $(DISTRIBUCION)/$(LIB); $(RM) $(DISTRIBUCION)/$(FICHERO_JAR_MRSID); $(RM) $(DISTRIBUCION)/$(LIB); $(RRM) $(DEST_OBJS)/*