| 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <project basedir="." default="deploySatInc" name="scripts"> | 
| 3 | <property environment="env"/> | 
| 4 |  | 
| 5 | <!-- CONFIGURATION FILE. The properties in this file overwrite the previous properties --> | 
| 6 | <property file="../../KYoda.properties"/> | 
| 7 | <!-- CONFIGURATION FILE. The properties in this file overwrite the previous properties --> | 
| 8 |  | 
| 9 | <!-- | 
| 10 | CONFIGURATION PARAMETERS | 
| 11 | Modify here the parameters according to your own system | 
| 12 | --> | 
| 13 | <!-- PAMELA Software(s) root directory --> | 
| 14 | <property name="pamSoftware" | 
| 15 | value="/home/pamelaprod/yoda"/> | 
| 16 | <!-- CERN's ROOT base directory --> | 
| 17 | <property name="root" | 
| 18 | value="/opt/root"/> | 
| 19 | <!-- LOG4CXX base directory --> | 
| 20 | <property name="log4cxx" | 
| 21 | value="/opt/log4cxx"/> | 
| 22 | <!-- ant-contrib base directory --> | 
| 23 | <property name="ant-contrib.lib" | 
| 24 | value="/opt/ant-contrib/lib"/> | 
| 25 | <!-- source base directory --> | 
| 26 | <property name="scripts" | 
| 27 | value="${basedir}"/> | 
| 28 | <property name="scripts.src" | 
| 29 | value="${scripts}/src"/> | 
| 30 | <property name="scripts.inc" | 
| 31 | value="${scripts}/inc"/> | 
| 32 |  | 
| 33 |  | 
| 34 |  | 
| 35 | <!-- | 
| 36 | PARAMETRIZED PARAMETERS | 
| 37 | From here to the end there is NO NEED to modify anything | 
| 38 | --> | 
| 39 | <!-- Linux --> | 
| 40 | <property name="local" value="/usr/local"/> | 
| 41 | <property name="local.include" value="${local}/include"/> | 
| 42 | <property name="local.lib" value="${local}/lib"/> | 
| 43 |  | 
| 44 | <!-- CERN's ROOT --> | 
| 45 | <property name="root.include" value="${root}/include"/> | 
| 46 | <property name="root.lib" value="${root}/lib"/> | 
| 47 |  | 
| 48 | <!-- log4cxx --> | 
| 49 | <property name="log4cxx.include" value="${log4cxx}/include"/> | 
| 50 | <property name="log4cxx.lib" value="${log4cxx}/lib"/> | 
| 51 |  | 
| 52 | <!-- ant-contrib library --> | 
| 53 | <path id="classpath"> | 
| 54 | <pathelement location="${ant-contrib.lib}/cpptasks.jar"/> | 
| 55 | </path> | 
| 56 |  | 
| 57 |  | 
| 58 | <!-- | 
| 59 | Load definition of C/C++ Tasks and Types | 
| 60 | To allow the compilation and linking of C/C++ code | 
| 61 | --> | 
| 62 | <taskdef classpathref="classpath" loaderref="classpath.loaderRef" resource="cpptasks.tasks"/> | 
| 63 | <typedef classpathref="classpath" loaderref="classpath.loaderRef" resource="cpptasks.types"/> | 
| 64 |  | 
| 65 | <!-- | 
| 66 | Load definition of Additional Tasks and Types | 
| 67 | --> | 
| 68 | <taskdef resource="net/sf/antcontrib/antcontrib.properties"> | 
| 69 | <classpath> | 
| 70 | <pathelement location="${ant-contrib.lib}/ant-contrib.jar"/> | 
| 71 | </classpath> | 
| 72 | </taskdef> | 
| 73 |  | 
| 74 | <target name="initScripts" unless="${compilationFolder}"> | 
| 75 | <tstamp> | 
| 76 | <format property="compilationFolder" pattern="hmsS" unit="millisecond"/> | 
| 77 | </tstamp> | 
| 78 | <!-- Compiler parameters --> | 
| 79 | <property name="compilationFolder.lib"          value="${compilationFolder}/lib"/> | 
| 80 | <property name="compilationFolder.include"      value="${compilationFolder}/include"/> | 
| 81 |  | 
| 82 | <!-- scripts parameters --> | 
| 83 | <property name="scripts.compilationFolder" value="${env.HOME}/tmp/${compilationFolder}"/> | 
| 84 | <property name="scripts.obj"                    value="${scripts.compilationFolder}/obj"/> | 
| 85 | <property name="scripts.lib"                    value="${scripts.compilationFolder}/lib"/> | 
| 86 | <property name="scripts.bin"                    value="${scripts.compilationFolder}/bin"/> | 
| 87 |  | 
| 88 | <!-- Deploy parameters --> | 
| 89 | <property name="deploy"         value="${pamSoftware}"/> | 
| 90 | <property name="deploy.lib"     value="${deploy}/lib"/> | 
| 91 | <property name="deploy.include" value="${deploy}/include"/> | 
| 92 | <property name="deploy.bin"     value="${deploy}/bin"/> | 
| 93 | <property name="deploy.data"    value="${deploy}/data"/> | 
| 94 | </target> | 
| 95 |  | 
| 96 | <compiler id="scripts-gcc" name="g++"> | 
| 97 | <includepath location="${local.include}"/> | 
| 98 | <includepath location="${log4cxx.include}"/> | 
| 99 | <includepath location="${root.include}"/> | 
| 100 | <compilerarg value="-O"/> | 
| 101 | <compilerarg value="-g"/> | 
| 102 | </compiler> | 
| 103 |  | 
| 104 | <compiler id="util-fort" name="g77"> | 
| 105 | <compilerarg value="-c"/> | 
| 106 | <compilerarg value="-O0"/> | 
| 107 | </compiler> | 
| 108 |  | 
| 109 | <linker id="scripts-link"> | 
| 110 | <libset dir="${root.lib}"    libs="Cint, Core, Tree, Hist, Gpad, Graf, Matrix, HistPainter"/> | 
| 111 | <libset dir="${log4cxx.lib}" libs="log4cxx"/> | 
| 112 | <libset libs="stdc++"/> | 
| 113 | </linker> | 
| 114 |  | 
| 115 |  | 
| 116 | <!-- | 
| 117 | Clean the compilation folder | 
| 118 | --> | 
| 119 | <target description="Clean all build products." name="cleanScripts"> | 
| 120 | <delete dir="${scripts.compilationFolder}"/> | 
| 121 | </target> | 
| 122 |  | 
| 123 | <target depends="initScripts" description="compile sgp4" name="sgp4"> | 
| 124 | <mkdir dir="${scripts.lib}"/> | 
| 125 | <mkdir dir="${scripts.obj}"/> | 
| 126 | <cc objdir="${scripts.obj}" outfile="${scripts.lib}/sgp4quick" outtype="shared"> | 
| 127 | <compiler extends="scripts-gcc"> | 
| 128 | <fileset dir="${scripts.src}" includes="sgp4.cpp"> | 
| 129 | </fileset> | 
| 130 | <includepath location="${scripts.inc}"/> | 
| 131 | </compiler> | 
| 132 | </cc> | 
| 133 | </target> | 
| 134 |  | 
| 135 | <target depends="deploysgp4" description="Create initScripts" name="SatInc"> | 
| 136 | <mkdir dir="${scripts.bin}"/> | 
| 137 | <mkdir dir="${scripts.obj}"/> | 
| 138 | <cc objdir="${scripts.obj}" outfile="${scripts.bin}/SatInc" outtype="executable"> | 
| 139 | <compiler extends="scripts-gcc"> | 
| 140 | <fileset dir="${scripts.src}" includes="InclinationInfo.cpp, SatInc.cpp"/> | 
| 141 | <includepath location="${scripts.src}"/> | 
| 142 | <includepath location="${scripts.inc}"/> | 
| 143 | <includepath location="${pamSoftware}/include/utils"/> | 
| 144 | </compiler> | 
| 145 |  | 
| 146 | <compiler extends="util-fort"> | 
| 147 | <fileset dir="${scripts.src}" includes="geopack.f"/> | 
| 148 | </compiler> | 
| 149 | <linker extends="scripts-link"> | 
| 150 | <libset dir="${pamSoftware}/lib" libs="yoda, utils"/> | 
| 151 | <libset dir="${deploy.lib}" libs="sgp4quick"/> | 
| 152 | </linker> | 
| 153 | </cc> | 
| 154 | </target> | 
| 155 |  | 
| 156 |  | 
| 157 | <target depends="SatInc" description="Deploy SatInc" name="deploySatInc"> | 
| 158 | <mkdir dir="${deploy}"/> | 
| 159 | <mkdir dir="${deploy.bin}"/> | 
| 160 | <copy todir="${deploy.bin}"> | 
| 161 | <fileset dir="${scripts.bin}" includes="InclinationInfo, SatInc" excludes="*.*"/> | 
| 162 | </copy> | 
| 163 | <chmod dir="${deploy.bin}" perm="775" includes="**/*"/> | 
| 164 | </target> | 
| 165 |  | 
| 166 | <target depends="sgp4" description="Deploy sgp4" name="deploysgp4"> | 
| 167 | <mkdir dir="${deploy}"/> | 
| 168 | <mkdir dir="${deploy.lib}"/> | 
| 169 | <!--    <copy todir="${deploy.lib}"> | 
| 170 | <fileset dir="${scripts.lib}" includes="libsgp4quick.so"/> | 
| 171 | </copy> --> | 
| 172 | <chmod dir="${deploy.lib}" perm="775" includes="**/*"/> | 
| 173 | </target> | 
| 174 |  | 
| 175 |  | 
| 176 | </project> |