#!/bin/csh
setenv QS_HOME /Applications/QSAS_3_1 # target directory
setenv QSAS_HOME /Applications/QSAS_3_1  # QS_HOME and QSAS_HOME different in binary build
setenv TARGET_PATH ${QS_HOME}/bin/QSAS_OSX.app/Contents/MacOS
setenv TARGET_LIB ${QS_HOME}/lib
setenv TARGET ${TARGET_PATH}/QSAS_OSX
setenv OSX_RELEASE YES
setenv QT_DIST "/Applications/Qt/5.7/clang_64"
setenv MOC "${QT_DIST}/bin/moc "
setenv FRAMEWORK " -framework cocoa -F${TARGET_LIB} -framework QtCore -framework QtGui -framework QtWidgets -framework QtSvg -framework QtPrintSupport -framework QtXml  "
setenv SHELL /bin/csh
setenv HAS_SSTREAM "-DHAVE_SSTREAM_H"
setenv DOT_SO ".dylib"
setenv SYS_FLAG "-DMAC_64"
setenv CDF_DIST /Applications/cdf/cdf36_3-dist
setenv CDF_INCLUDE ${CDF_DIST}/include                                     
setenv CDF_LIB ${CDF_DIST}/lib
setenv QT_INCLUDE " -F${TARGET_LIB} -I${TARGET_LIB}/QtWidgets.framework/Versions/5/Headers -I${TARGET_LIB}/QtCore.framework/Versions/5/Headers -I${TARGET_LIB}/QtGui.framework/Versions/5/Headers -I${TARGET_LIB}/QtXml.framework/Versions/5/Headers -I${TARGET_LIB}/QtSvg.framework/Versions/5/Headers -I${TARGET_LIB}/QtPrintSupport.framework/Versions/5/Headers "
setenv QT_FLAG ""
#setenv CC "g++ -O3 -r ${QT_INCLUDE}  ${SYS_FLAG} ${QT_FLAG}"
setenv CC "clang -stdlib=libc++  -O3  ${QT_INCLUDE}  ${SYS_FLAG} ${QT_FLAG}"
#setenv CPL "g++ -r -flat_namespace ${QT_INCLUDE}  ${SYS_FLAG} ${QT_FLAG}"
setenv CPL "clang++ -std=c++11 -stdlib=libc++  -O3  -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_NO_MEMBER_TEMPLATES=0    ${HAS_SSTREAM} ${SYS_FLAG} ${QT_FLAG} "
#setenv CPX "g++  -flat_namespace ${QT_INCLUDE} -I${QS_HOME}/include ${HAS_SSTREAM} ${SYS_FLAG} ${QT_FLAG}"  
setenv CPX "g++  -Wl,-rpath,${TARGET_LIB} -stdlib=libstdc++  -O3 -flat_namespace   -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_NO_MEMBER_TEMPLATES=0 ${HAS_SSTREAM} ${SYS_FLAG} ${QT_FLAG} -headerpad_max_install_names "
setenv AR ar
setenv ARFLAGS " ru "
setenv ARC ar
setenv ARCFLAGS " -crs "
setenv PIC_LD  "  "
setenv LD_PLUGIN  " clang++ -std=c++11 -stdlib=libc++  -O3  -dynamiclib -single_module  -flat_namespace -undefined suppress ${SYS_FLAG} -Wl,-rpath,${TARGET_LIB}"
#setenv LD_PLUGIN  " g++ -O3  -dynamiclib -single_module  -flat_namespace -undefined suppress -r  ${SYS_FLAG} "
#setenv LD_PLUGIN  " g++   -single_module -twolevel_namespace -undefined suppress -dynamiclib -r  ${SYS_FLAG} "
#setenv LD  " g++ -O3  -dynamiclib -flat_namespace -undefined suppress -r ${SYS_FLAG} "
setenv LD  " clang++ -std=c++11 -stdlib=libc++  -O3  -dynamiclib -flat_namespace -undefined suppress ${SYS_FLAG} -Wl,-rpath,${TARGET_LIB} "
#setenv LD         " g++  -single_module -twolevel_namespace -undefined suppress -dynamiclib -r  ${SYS_FLAG} "
setenv PIC  " -fPIC  "
setenv LDLIBS "  -lz -lm -ldl  "
setenv QSASLIBS "  -L${TARGET_LIB}  -lcdf -lqdutil -lqtpl -lqslot -lqds -lqwui -lqpui -lqbu -lqdi -lqcalc -lqjui -lqie_caa -lqexui -lqplplot -lqplot -lqprofui -lqpolar -lqsurface -lq3dview -lqpsd -lqops -ldvos "
setenv CFLAGS " -I. -Werror  -I${CDF_INCLUDE} -I${QS_HOME}/include  "
setenv CPLFLAGS " -I. -Werror -I${QS_HOME}/include ${QT_INCLUDE} -I${CDF_INCLUDE} -I/usr/local/include "
setenv INSTALLX "install -m 0775 "
setenv INSTALL  "install -m 0664 "
setenv MAKE  "make -f Makefile.std "
setenv MAKE_2  "make -j2 -f Makefile.std "
setenv BUILD_SYS "MacOSX"
if ($1 == 'qsas') then
cp ${CDF_INCLUDE}/cdf.h ${QS_HOME}/include
cp ${CDF_LIB}/libcdf${DOT_SO} ${TARGET_LIB}
install_name_tool -id "${TARGET_LIB}/libcdf${DOT_SO}" ${TARGET_LIB}/libcdf${DOT_SO}
rm -r ${TARGET_LIB}/QtCore.framework
cp -f -R -L ${QT_DIST}/lib/QtCore.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtCore.framework/QtCore_debug
rm -r ${TARGET_LIB}/QtCore.framework/Versions/5/QtCore_debug
rm    ${TARGET_LIB}/QtCore.framework/QtCore_debug.prl
rm -r ${TARGET_LIB}/QtCore.framework/Versions/Current
ln -s ${TARGET_LIB}/QtCore.framework/Versions/5 ${TARGET_LIB}/QtCore.framework/Versions/Current
rm -r ${TARGET_LIB}/QtCore.framework/Headers
ln -s ${TARGET_LIB}/QtCore.framework/Versions/Current/Headers ${TARGET_LIB}/QtCore.framework/Headers
rm -r ${TARGET_LIB}/QtCore.framework/QtCore
ln -s ${TARGET_LIB}/QtCore.framework/Versions/Current/QtCore ${TARGET_LIB}/QtCore.framework/QtCore

rm -r ${TARGET_LIB}/QtGui.framework
cp -f -R -L ${QT_DIST}/lib/QtGui.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtGui.framework/QtGui_debug
rm -r ${TARGET_LIB}/QtGui.framework/Versions/5/QtGui_debug
rm    ${TARGET_LIB}/QtGui.framework/QtGui_debug.prl
rm -r ${TARGET_LIB}/QtGui.framework/Versions/Current
ln -s ${TARGET_LIB}/QtGui.framework/Versions/5 ${TARGET_LIB}/QtGui.framework/Versions/Current
rm -r ${TARGET_LIB}/QtGui.framework/Headers
ln -s ${TARGET_LIB}/QtGui.framework/Versions/Current/Headers ${TARGET_LIB}/QtGui.framework/Headers
rm -r ${TARGET_LIB}/QtGui.framework/QtGui
ln -s ${TARGET_LIB}/QtGui.framework/Versions/Current/QtGui ${TARGET_LIB}/QtGui.framework/QtGui

rm -r ${TARGET_LIB}/QtWidgets.framework
cp -f -R -L ${QT_DIST}/lib/QtWidgets.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtWidgets.framework/QtWidgets_debug
rm -r ${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets_debug
rm    ${TARGET_LIB}/QtWidgets.framework/QtWidgets_debug.prl
rm -r ${TARGET_LIB}/QtWidgets.framework/Versions/Current
ln -s ${TARGET_LIB}/QtWidgets.framework/Versions/5 ${TARGET_LIB}/QtWidgets.framework/Versions/Current
rm -r ${TARGET_LIB}/QtWidgets.framework/Headers
ln -s ${TARGET_LIB}/QtWidgets.framework/Versions/Current/Headers ${TARGET_LIB}/QtWidgets.framework/Headers
rm -r ${TARGET_LIB}/QtWidgets.framework/QtWidgets
ln -s ${TARGET_LIB}/QtWidgets.framework/Versions/Current/QtWidgets ${TARGET_LIB}/QtWidgets.framework/QtWidgets

rm -r ${TARGET_LIB}/QtSvg.framework
cp -f -R -L ${QT_DIST}/lib/QtSvg.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtSvg.framework/QtSvg_debug
rm -r ${TARGET_LIB}/QtSvg.framework/Versions/5/QtSvg_debug
rm    ${TARGET_LIB}/QtSvg.framework/QtSvg_debug.prl
rm -r ${TARGET_LIB}/QtSvg.framework/Versions/Current
ln -s ${TARGET_LIB}/QtSvg.framework/Versions/5 ${TARGET_LIB}/QtSvg.framework/Versions/Current
rm -r ${TARGET_LIB}/QtSvg.framework/Headers
ln -s ${TARGET_LIB}/QtSvg.framework/Versions/Current/Headers ${TARGET_LIB}/QtSvg.framework/Headers
rm -r ${TARGET_LIB}/QtSvg.framework/QtSvg
ln -s ${TARGET_LIB}/QtSvg.framework/Versions/Current/QtSvg ${TARGET_LIB}/QtSvg.framework/QtSvg

rm -r ${TARGET_LIB}/QtXml.framework
cp -f -R -L ${QT_DIST}/lib/QtXml.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtXml.framework/QtXml_debug
rm -r ${TARGET_LIB}/QtXml.framework/Versions/5/QtXml_debug
rm    ${TARGET_LIB}/QtXml.framework/QtXml_debug.prl
rm -r ${TARGET_LIB}/QtXml.framework/Versions/Current
ln -s ${TARGET_LIB}/QtXml.framework/Versions/5 ${TARGET_LIB}/QtXml.framework/Versions/Current
rm -r ${TARGET_LIB}/QtXml.framework/Headers
ln -s ${TARGET_LIB}/QtXml.framework/Versions/Current/Headers ${TARGET_LIB}/QtXml.framework/Headers
rm -r ${TARGET_LIB}/QtXml.framework/QtXml
ln -s ${TARGET_LIB}/QtXml.framework/Versions/Current/QtXml ${TARGET_LIB}/QtXml.framework/QtXml

rm -r ${TARGET_LIB}/QtPrintSupport.framework
cp -f -R -L ${QT_DIST}/lib/QtPrintSupport.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtPrintSupport.framework/QtPrintSupport_debug
rm -r ${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport_debugqcocoa
rm    ${TARGET_LIB}/QtPrintSupport.framework/QtPrintSupport_debug.prl
rm -r ${TARGET_LIB}/QtPrintSupport.framework/Versions/Current
ln -s ${TARGET_LIB}/QtPrintSupport.framework/Versions/5 ${TARGET_LIB}/QtPrintSupport.framework/Versions/Current
rm -r ${TARGET_LIB}/QtPrintSupport.framework/Headers
ln -s ${TARGET_LIB}/QtPrintSupport.framework/Versions/Current/Headers ${TARGET_LIB}/QtPrintSupport.framework/Headers
rm -r ${TARGET_LIB}/QtPrintSupport.framework/QtPrintSupport
ln -s ${TARGET_LIB}/QtPrintSupport.framework/Versions/Current/QtPrintSupport ${TARGET_LIB}/QtPrintSupport.framework/QtPrintSupport

rm -r ${TARGET_LIB}/QtDBus.framework
cp -f -R -L ${QT_DIST}/lib/QtDBus.framework ${TARGET_LIB}
rm -r ${TARGET_LIB}/QtDBus.framework/QtDBus_debug
rm -r ${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus_debug
rm    ${TARGET_LIB}/QtDBus.framework/QtDBus_debug.prl
rm -r ${TARGET_LIB}/QtDBus.framework/Versions/Current
ln -s ${TARGET_LIB}/QtDBus.framework/Versions/5 ${TARGET_LIB}/QtDBus.framework/Versions/Current
rm -r ${TARGET_LIB}/QtDBus.framework/Headers
ln -s ${TARGET_LIB}/QtDBus.framework/Versions/Current/Headers ${TARGET_LIB}/QtDBus.framework/Headers
rm -r ${TARGET_LIB}/QtDBus.framework/QtDBus
ln -s ${TARGET_LIB}/QtDBus.framework/Versions/Current/QtDBus ${TARGET_LIB}/QtDBus.framework/QtDBus

#cp -f -R -L /usr/lib/libstdc++.6.dylib ${TARGET_LIB}
#cp -f -R -L /usr/lib/libSystem.B.dylib ${TARGET_LIB}
#cp -f -R -L /usr/lib/libz.1.dylib ${TARGET_LIB}
#cp -f -R -L /usr/lib/system/libcache.dylib ${TARGET_LIB}
#cp -f -R -L /usr/lib/system/libcommonCrypto.dylib ${TARGET_LIB}
cp -f -R -L ${QT_DIST}/bin/moc ${QS_HOME}/bin
cp -f -R -L ${QT_DIST}/plugins/platforms/libqcocoa.dylib ${TARGET_PATH}/platforms
install_name_tool -id "${TARGET_PATH}/platforms/libqcocoa.dylib" ${TARGET_PATH}/platforms/libqcocoa.dylib
install_name_tool -id "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtCore.framework/Versions/5/QtCore
install_name_tool -id "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_LIB}/QtGui.framework/Versions/5/QtGui
install_name_tool -id "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets
install_name_tool -id "${TARGET_LIB}/QtSvg.framework/Versions/5/QtSvg" ${TARGET_LIB}/QtSvg.framework/Versions/5/QtSvg
install_name_tool -id "${TARGET_LIB}/QtXml.framework/Versions/5/QtXml" ${TARGET_LIB}/QtXml.framework/Versions/5/QtXml
install_name_tool -id "${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport" ${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport
install_name_tool -id "${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus" ${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus
#install_name_tool -id "${TARGET_LIB}/libstdc++.6.dylib" ${TARGET_LIB}/libstdc++.6.dylib
#install_name_tool -change "/usr/lib/libstdc++.6.dylib" "${TARGET_LIB}/libstdc++.6.dylib" ${TARGET}
#install_name_tool -id "${TARGET_LIB}/libSystem.B.dylib" ${TARGET_LIB}/libSystem.B.dylib
#install_name_tool -change "/usr/lib/libSystem.B.dylib" "${TARGET_LIB}/libSystem.B.dylib" ${TARGET}
#install_name_tool -id "${TARGET_LIB}/libz.1.dylib" ${TARGET_LIB}/libz.1.dylib
#install_name_tool -change "/usr/lib/libz.1.dylib" "${TARGET_LIB}/libz.1.dylib" ${TARGET}
#install_name_tool -id "${TARGET_LIB}/system/libcache.dylib" ${TARGET_LIB}/libcache.dylib
#install_name_tool -change "/usr/lib/system/libcache.dylib" "${TARGET_LIB}/libcache.dylib" ${TARGET}
#install_name_tool -id "${TARGET_LIB}/system/libcommonCrypto.dylib" ${TARGET_LIB}/libcommonCrypto.dylib
#install_name_tool -change "/usr/lib/system/libcommonCrypto.dylib" "${TARGET_LIB}/libcommonCrypto.dylib" ${TARGET}
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtGui.framework/Versions/5/QtGui
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtSvg.framework/Versions/5/QtSvg
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtXml.framework/Versions/5/QtXml
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_LIB}/QtSvg.framework/Versions/5/QtSvg
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_LIB}/QtXml.framework/Versions/5/QtXml
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus
install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_LIB}/QtSvg.framework/Versions/5/QtSvg
install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_LIB}/QtXml.framework/Versions/5/QtXml
install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport
install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_PATH}/platforms/libqcocoa.dylib
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_PATH}/platforms/libqcocoa.dylib
install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_PATH}/platforms/libqcocoa.dylib
install_name_tool -change "@rpath/QtPrintSupport.framework/Versions/5/QtPrintSupport" "${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport" ${TARGET_PATH}/platforms/libqcocoa.dylib
install_name_tool -change "@rpath/QtDBus.framework/Versions/5/QtDBus" "${TARGET_LIB}/QtDBus.framework/Versions/5/QtDBus" ${TARGET_PATH}/platforms/libqcocoa.dylib
cp -f -R -L ${QT_DIST}/plugins/printsupport/libcocoaprintersupport.dylib ${TARGET_PATH}/printsupport
install_name_tool -id "${TARGET_PATH}/printsupport/libcocoaprintersupport.dylib" ${TARGET_PATH}/printsupport/libcocoaprintersupport.dylib
install_name_tool -change "@rpath/QtPrintSupport.framework/Versions/5/QtPrintSupport" "${TARGET_LIB}/QtPrintSupport.framework/Versions/5/QtPrintSupport" ${TARGET_PATH}/printsupport/libcocoaprintersupport.dylib
install_name_tool -change "@rpath/QtWidgets.framework/Versions/5/QtWidgets" "${TARGET_LIB}/QtWidgets.framework/Versions/5/QtWidgets" ${TARGET_PATH}/printsupport/libcocoaprintersupport.dylib
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_PATH}/printsupport/libcocoaprintersupport.dylib
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_PATH}/printsupport/libcocoaprintersupport.dylib
cp -f -R -L ${QT_DIST}/plugins/imageformats/libqjpeg.dylib ${TARGET_PATH}/imageformats
install_name_tool -id "${TARGET_PATH}/imageformats/libqjpeg.dylib" ${TARGET_PATH}/imageformats/libqjpeg.dylib
install_name_tool -change "@rpath/QtGui.framework/Versions/5/QtGui" "${TARGET_LIB}/QtGui.framework/Versions/5/QtGui" ${TARGET_PATH}/imageformats/libqjpeg.dylib
install_name_tool -change "@rpath/QtCore.framework/Versions/5/QtCore" "${TARGET_LIB}/QtCore.framework/Versions/5/QtCore" ${TARGET_PATH}/imageformats/libqjpeg.dylib
endif
make -f ${QS_HOME}/src/Makefile.std $1







