Commit 2a89f78d authored by Stuart Sides's avatar Stuart Sides
Browse files

Merged trunk in

parents 8a7f61d5 3e002efe
Loading
Loading
Loading
Loading
+335 −0
Original line number Diff line number Diff line
# $Id: config.darwin,v 1.47 2010/04/07 00:07:52 kbecker Exp $
#--------------------------------------------------------------------------
# Compiler options
#---------------------------------------------------------------------------
#  Build architecture now automatically determined at build time via isis.conf
include $(ISISROOT)/make/isis.conf

MAC_ARCH_FLAGS = $(MAC_ARCH) $(MAC_XARCH) $(MAC_OS_MIN)

#  Basically is GNU g++/gcc
CXX           = c++
CC            = cc

ISISCPPFLAGS  = -Wall
ISISCPPFLAGS += -ansi
ISISCPPFLAGS += $(MAC_ARCH_FLAGS)
ifeq ($(HOST_PROC), powerpc)
  # Powerpc support
  ISISCPPFLAGS += -DISIS_LITTLE_ENDIAN=0
else
  # Assumes Intel Mac
  ISISCPPFLAGS += -DISIS_LITTLE_ENDIAN=1
endif
ISISCPPFLAGS += -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
ISISCPPFLAGS += -fPIC
ISISCPPFLAGS += -DGMM_USES_SUPERLU

ifeq ($(findstring DEBUG, $(MODE)),DEBUG)
  ISISCPPFLAGS  += -g 
  ISISCPPFLAGS  += -O0
else
  ISISCPPFLAGS  += -O1
  QTDARWINFLAGS += $(QTDEFINES)
endif

ISISCFLAGS = 

#---------------------------------------------------------------------------
# Linker options.  Runtime paths for Mac is rooted to $ISISROOT
#---------------------------------------------------------------------------
ISISLDFLAGS = -headerpad_max_install_names $(MAC_ARCH_FLAGS) -bind_at_load -Wl,-w
ISISLDRPATH = -Wl,-rpath,@loader_path/..  -Wl,-rpath,$(ISISROOT)
ISISSYSLIBS = -lz -lm -framework ApplicationServices
ISISSTATIC  = 
ISISDYNAMIC = 

#---------------------------------------------------------------------------
# Shared library options
#---------------------------------------------------------------------------
RANLIB          = /usr/bin/ranlib
SHAREDLIBEXT    = dylib
DYLIBVERSION    = -compatibility_version $(ISISMAJOR).$(ISISMINOR) \
                  -current_version $(ISISLIBVERSION)
DYLIBFLAGS      = $(MAC_ARCH_FLAGS)  -dynamiclib -flat_namespace \
	   	   -single_module -undefined suppress
ISISSHAREDFLAGS = $(MAC_ARCH_FLAGS) -bundle -flat_namespace -dynamic \
		  -undefined suppress 
ISISSHAREDON    = 
ISISSHAREDOFF   =
ISISARFLAGS     =

#---------------------------------------------------------------------------
#  Set ISIS Dev Kit (IDK) paths.  This setting of ISISLOCALVERSION here will 
#  override this macro set in isismake.os (KJB 2013-12-12)
#---------------------------------------------------------------------------
ISISLOCALVERSION ?= v003
IDK_ROOT         ?= /opt/usgs/$(ISISLOCALVERSION)
ISIS3OPT         ?= $(IDK_ROOT)/ports
ISIS3LOCAL       ?= $(IDK_ROOT)/3rdparty
ISIS3PROP        ?= $(IDK_ROOT)/proprietary

#  Set up paths to needed apps
DOXYGEN     = $(ISIS3OPT)/bin/doxygen
DOT_PATH    = $(ISIS3OPT)/bin 
LATEX       = $(ISIS3OPT)/bin/latex

#---------------------------------------------------------------------------
# Set up for cwd
#---------------------------------------------------------------------------
CWDINCDIR =
CWDLIBDIR =
CWDLIB    =

#---------------------------------------------------------------------------
# Set up for Qt
#---------------------------------------------------------------------------
QTDARWINFLAGS += -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
QTDIR        = $(ISIS3OPT)

QTFRAMEWORKDIR     = $(QTDIR)/Library/Frameworks
ifeq (,$(findstring $(QTFRAMEWORKDIR)/QtCore.framework,$(wildcard $(QTFRAMEWORKDIR)/QtCore.framework )))
  QTFRAMEWORKDIR   = $(ISIS3OPT)/lib
endif

QTINCDIR  = -I$(QTDIR)/share/qt4/mkspecs/macx-g++
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtCore.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtAssistant.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtGui.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtNetwork.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtOpenGL.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtScript.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtScriptTools.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtSql.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtSvg.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtTest.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtWebKit.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtXml.framework/Headers
QTINCDIR += -I$(QTFRAMEWORKDIR)/QtXmlPatterns.framework/Headers
QTINCDIR += -F$(QTFRAMEWORKDIR)
QTLIBDIR  = -L$(QTFRAMEWORKDIR) -F$(QTFRAMEWORKDIR)

ISISCPPFLAGS       += $(QTDARWINFLAGS)
QTCOMMONFRAMEWORKS  =
QTFRAMEWORKS        = -framework QtXmlPatterns -framework QtXml -framework QtNetwork \
                      -framework QtSql -framework QtGui -framework QtCore -framework QtSvg \
                      -framework QtTest -framework QtWebKit -framework QtOpenGL
QTLIB               = $(QTFRAMEWORKS) $(QTCOMMONFRAMEWORKS)

QTOPENGL     = -framework OpenGL -framework AGL

UIC          = $(QTDIR)/bin/uic
RCC          = $(QTDIR)/bin/rcc
RCCDEFINES   =
MOC          = $(QTDIR)/bin/moc
MOCDEFINES   += $(QTDARWINFLAGS)
MOCDEFINES   += $(QTINCDIR)
MOCDEFINES   += -D__APPLE__ -D__GNUC__

#---------------------------------------------------------------------------
# Set up for Qwt
#---------------------------------------------------------------------------
QWTDIR      = $(ISIS3OPT)
QWTFRAMES   = $(QWTDIR)/Library/Frameworks
ifeq (,$(findstring $(QWTFRAMES)/qwt.framework,$(wildcard $(QWTFRAMES)/qwt.framework )))
  QWTFRAMES  = $(ISIS3OPT)/lib
endif

QWTINCDIR = -I$(QWTFRAMES)/qwt.framework/Headers
QWTLIBDIR = -L$(QWTFRAMES) -F$(QWTFRAMES)
QWTLIB    = -framework qwt 

#---------------------------------------------------------------------------
# Set up for Xerces 
#---------------------------------------------------------------------------
XERCESINCDIR = -I$(ISIS3OPT)/include/xercesc
XERCESLIBDIR = -L$(ISIS3OPT)/lib
XERCESLIB    = -lxerces-c

XALAN        = $(ISIS3OPT)/bin/Xalan

#---------------------------------------------------------------------------
# Set up for GeoTiff
#---------------------------------------------------------------------------
GEOTIFFINCDIR = -I$(ISIS3OPT)/include
GEOTIFFLIBDIR = -L$(ISIS3OPT)/lib
GEOTIFFLIB    = -lgeotiff

#---------------------------------------------------------------------------
# Set up for proj (Needed on Macs for geotiff)
#---------------------------------------------------------------------------
PROJINCDIR = -I$(ISIS3OPT)/include
PROJLIBDIR = -L$(ISIS3OPT)/lib
PROJLIB    = -lproj

#---------------------------------------------------------------------------
# Set up for Tiff
#---------------------------------------------------------------------------
TIFFINCDIR = -I$(ISIS3OPT)/include
TIFFLIBDIR = -L$(ISIS3OPT)/lib
TIFFLIB    = -ltiff

#---------------------------------------------------------------------------
# Set up for naif
#---------------------------------------------------------------------------
NAIFINCDIR = -I$(ISIS3LOCAL)/include
NAIFLIBDIR = -L$(ISIS3LOCAL)/lib
NAIFLIB    = -lcspice

#---------------------------------------------------------------------------
# Set up for TNT
#---------------------------------------------------------------------------
TNTINCDIR = -I$(ISIS3LOCAL)/include/tnt 
TNTLIBDIR =
TNTLIB    = 

#---------------------------------------------------------------------------
# Set up for JAMA
#---------------------------------------------------------------------------
JAMAINCDIR = -I$(ISIS3LOCAL)/include/jama
JAMALIBDIR =
JAMALIB    = 

#---------------------------------------------------------------------------
# Set up for GEOS
#---------------------------------------------------------------------------
GEOSINCDIR = -I$(ISIS3OPT)/include/geos
GEOSLIBDIR = -L$(ISIS3OPT)/lib
GEOSLIB    = -lgeos

#---------------------------------------------------------------------------
# Set up for the GNU Scientific Library (GSL).  Note that this setup
# suppports include patterns such as <gsl/gsl_errno.h>.  With this
# format, any other include spec that points to the general include
# directory, such as GEOS, will suffice.  Therefore, an explicit
# include directive is ommitted but provided as an empty reference
# in cases where it may be located elsewhere.  This also goes for the
# library reference.
#---------------------------------------------------------------------------
GSLINCDIR =  -I$(ISIS3OPT)/include/gsl
GSLLIBDIR =  -L$(ISIS3OPT)/lib
GSLLIB    = -lgsl -lgslcblas

#---------------------------------------------------------------------------
# Set up for GMM
#---------------------------------------------------------------------------
GMMINCDIR = -I$(ISIS3LOCAL)/include
GMMLIBDIR =
GMMLIB    = 

#---------------------------------------------------------------------------
# Set up for SuperLU
#---------------------------------------------------------------------------
SUPERLUINCDIR = -I$(ISIS3LOCAL)/include/superlu
SUPERLULIBDIR = -L$(ISIS3LOCAL)/lib
ifeq ($(HOST_PROC), powerpc)
#  Powerpc support
  SUPERLULIB    = -lsuperlu_3.0 -framework vecLib
else
#  Assumes Intel Mac
  SUPERLULIB    = -lsuperlu -lblas
endif

#---------------------------------------------------------------------------
# Set up for Google Protocol Buffers (ProtoBuf)
#---------------------------------------------------------------------------
PROTOBUFINCDIR = -I$(ISIS3OPT)/include/google
PROTOBUFLIBDIR = -L$(ISIS3OPT)/lib
PROTOBUFLIB    = -lprotobuf
PROTOC         = $(ISIS3OPT)/bin/protoc

#---------------------------------------------------------------------------
# Set up for kakadu
# The Kakadu library is proprietary. The source files cannot be distributed
# with ISIS3. If you need to rebuild ISIS3 on your system, then you will
# need to modify the lines below that pertain to the location of the
# header files and library on your system. The compilation flag, ENABLEJP2K,
# should be set to true if you are building with the Kakadu library and
# you want to use the JPEG2000 specific code in the ISIS3 system. Otherwise,
# set the ENABLEJP2K flag to false.
#
#  Added abililty to automatically detect the existance of the Kakadu include
#  directory.  One can set the environment variable JP2KFLAG with a 1 or 0
#  depending upon need.  Developers can define appropriate enviroment variables
#  for the complete JP2K environment.  Just redefine them based upon the usage
#  below (i.e., be sure to add -I, -L and -l to the variables for KAKADUINCDIR,
#  KAKADULIBDIR and KAKADULIB, respectively).
#---------------------------------------------------------------------------
KAKADUINCDIR ?= -I$(ISIS3PROP)/include/kakadu/v6_3-00967N
KAKADULIBDIR ?= -L$(ISIS3PROP)/lib
KAKADULIB    ?= -lkdu_a63R
#  Strip -I from Kakadu include directory macro and check for existance
JP2KFLAG ?= $(shell if [ -d $(subst -I,,$(KAKADUINCDIR)) ]; then echo "1"; else echo "0"; fi;)
ISISCPPFLAGS += -DENABLEJP2K=$(JP2KFLAG)


#---------------------------------------------------------------------------
# Set up for Boost Library
#---------------------------------------------------------------------------
BOOSTINCDIR = -I$(ISIS3OPT)/include
BOOSTLIBDIR = -L$(ISIS3OPT)/lib
BOOSTLIB   =

#---------------------------------------------------------------------------
# Set up for Cholmod Libraries
#---------------------------------------------------------------------------
CHOLMODINCDIR = -I$(ISIS3LOCAL)/include
CHOLMODLIBDIR = -L$(ISIS3LOCAL)/lib
CHOLMODLIB   = -lcholmod -lamd -lcolamd -lcamd -framework Accelerate

#---------------------------------------------------------------------------
#  Define the third party distribution libraries (patterns)
#---------------------------------------------------------------------------

#  Libraries
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtXmlPatterns.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtXml.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtNetwork.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtSql.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtGui.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtCore.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtSvg.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtWebKit.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtOpenGL.framework"
THIRDPARTYLIBS    += "$(QTFRAMEWORKDIR)/QtTest.framework"
THIRDPARTYLIBS    += "$(QWTFRAMES)/qwt.framework"
THIRDPARTYLIBS    += "$(ISIS3LOCAL)/lib/libcspice*.dylib"
THIRDPARTYLIBS    += "$(ISIS3LOCAL)/lib/libsuperlu*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libprotobuf*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libiconv*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libxerces-c*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libgeotiff*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libtiff*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/liblzma*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libgsl*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libz*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libssl*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libcrypto*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libpng*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libtiff.*dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libjpeg.*dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libmng.*dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/liblcms.*dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libgeos*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libsqlite3.*dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/postgresql*/libpq.*dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/mysql5/mysql/libmysqlclient_r*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libiodbc*.dylib"
THIRDPARTYLIBS    += "$(ISIS3PROP)/lib/libkdu_a63R.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libamd.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libcamd.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libcholmod.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libcolamd.dylib"
THIRDPARTYLIBS    += "/System/Library/Frameworks/Accelerate.framework"

# libxerces-c depends on these libraries
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libicui18n*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libicuuc*.dylib"
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libicudata*.dylib"

# libgeotiff depends on these libraries
THIRDPARTYLIBS    += "$(ISIS3OPT)/lib/libproj*.dylib"

#  Plugins
THIRDPARTYPLUGINS +=  "$(ISIS3OPT)/share/qt4/plugins/"
+3 −2
Original line number Diff line number Diff line
@@ -345,10 +345,11 @@ void IsisMain() {
  //  The local normal cross the selenogrpahic z gives northPN (normal to the plane containing all 
  //  the north/south directions), that is, the plane containing the origin, the z axis, and the 
  //  primary point of intersection.
  crossp(northPN,norm,northL);   
  crossp(norm, zDir, northPN); 
  
  //The normal to the plane containing all the north/south directions cross the local normal 
  //  direction gives the local north/south direction in the local normal plane
  crossp(norm, zDir, northPN); 
  crossp(northPN,norm,northL);   
  if (northL[2] < 0) {  //if by chance we got the south direction change the signs
    northL[0] = -northL[0];
    northL[1] = -northL[1];
+11 −4
Original line number Diff line number Diff line
APPNAME = apollopaninit

apolloPanImageOutput.cub.TOLERANCE = .000001

include $(ISISROOT)/make/isismake.tsts

commands:
	cp $(INPUT)/apolloPanImage.cub $(OUTPUT)/ > /dev/null;
	$(APPNAME) from = $(OUTPUT)/apolloPanImage.cub \
	cp $(INPUT)/apolloPanImage.cub $(OUTPUT)/apolloPanImageOutput.cub> /dev/null;
	$(APPNAME) from = $(OUTPUT)/apolloPanImageOutput.cub \
		Mission = "APOLLO15" \
		Microns = 50 \
		GMT = "1971-08-04 16:28:25.829" \
@@ -16,5 +18,10 @@ commands:
		VEL_AZM = 292.6602745 \
		VEL_HORIZ = 1.6212918 \
		VEL_RADIAL = -0.0056892 > /dev/null;
	catlab from=$(OUTPUT)/apolloPanImage.cub to=$(OUTPUT)/label.pvl > /dev/null;
	$(RM) $(OUTPUT)/apolloPanImage.cub > /dev/null;
	catlab from=$(OUTPUT)/apolloPanImageOutput.cub to=$(OUTPUT)/label.pvl > /dev/null;
	tabledump from=$(OUTPUT)/apolloPanImageOutput.cub to=$(OUTPUT)/BodyRotationTable.csv name=BodyRotation > /dev/null;
	tabledump from=$(OUTPUT)/apolloPanImageOutput.cub to=$(OUTPUT)/SunPositionTable.csv name=SunPosition > /dev/null;
	tabledump from=$(OUTPUT)/apolloPanImageOutput.cub to=$(OUTPUT)/InstrumentPositionTable.csv name=InstrumentPosition > /dev/null;
	tabledump from=$(OUTPUT)/apolloPanImageOutput.cub to=$(OUTPUT)/InstrumentPointingTable.csv name=InstrumentPointing > /dev/null;
	tabledump from=$(OUTPUT)/apolloPanImageOutput.cub to=$(OUTPUT)/FiducialMeasurementTable.csv name="Fiducial Measurement" > /dev/null;
	rm $(OUTPUT)/apolloPanImageOutput.cub > /dev/null;
+2 −2
Original line number Diff line number Diff line
@@ -85,8 +85,8 @@ void IsisMain() {
  ns = ceil((double)(es - ss + 1) / sinc);
  nl = ceil((double)(el - sl + 1) / linc);
  nb = eb;
  if (ns == 0) ns = 1;
  if (nl == 0) nl = 1;
  //if (ns == 0) ns = 1;
  //if (nl == 0) nl = 1;
  es = ss + (ns - 1) * sinc;
  el = sl + (nl - 1) * linc;

+3 −0
Original line number Diff line number Diff line
@@ -309,6 +309,9 @@ End_Group
     <change name="Ella Mae Lee" date="2014-04-02">
      Updated the documentation, fixes #1622 and #1688.
    </change>
    <change name="Jeffrey Covington" date="2015-01-15">
      Removed unreachable code.
    </change>
  </history>

  <oldName>
Loading