6 # This script makes PAR files without requiring write access to
7 # $ALICE_ROOT. It is not necessary to first make AliRoot after doing
8 # an svn checkout or update. Execute this script in your local area
13 # parmaker JETAN remote
14 # parmaker JETAN remote patch
17 # So far only available for these par files:
18 # ANALYSIS ANALYSISalice AOD EMCALUtils ESD FASTJETAN JETAN
19 # PHOSUtils PWG4PartCorrBase PWG4PartCorrDep STEERBase
28 ./parmaker ANALYSIS remote
29 ./parmaker ANALYSISalice remote
31 ./parmaker EMCALUtils remote
33 ./parmaker FASTJETAN remote
34 ./parmaker JETAN remote
35 ./parmaker PHOSUtils remote
36 ./parmaker PWG4PartCorrBase remote
37 ./parmaker PWG4PartCorrDep remote
38 ./parmaker STEERBase remote
40 echo "finished making complete set of par files"
44 parmaker_input_basedir="ANALYSIS"
45 parmaker_input_dir_subdir="ANALYSIS"
46 parmaker_output_dir_subdir="ANALYSIS"
49 parmaker_input_basedir="ANALYSIS"
50 parmaker_input_dir_subdir="ANALYSIS"
51 parmaker_output_dir_subdir="ANALYSISalice"
54 parmaker_input_basedir="STEER"
55 parmaker_input_dir_subdir="STEER"
56 parmaker_output_dir_subdir="AOD"
59 parmaker_input_basedir="EMCAL"
60 parmaker_input_dir_subdir="EMCAL"
61 parmaker_output_dir_subdir="EMCALUtils"
64 parmaker_input_basedir="STEER"
65 parmaker_input_dir_subdir="STEER"
66 parmaker_output_dir_subdir="ESD"
69 parmaker_input_basedir="PHOS"
70 parmaker_input_dir_subdir="PHOS"
71 parmaker_output_dir_subdir="PHOSUtils"
74 parmaker_input_basedir="PWG4"
75 parmaker_input_dir_subdir="PWG4/PartCorrBase"
76 parmaker_output_dir_subdir="PWG4PartCorrBase/PartCorrBase"
79 parmaker_input_basedir="PWG4"
80 parmaker_input_dir_subdir="PWG4/PartCorrDep"
81 parmaker_output_dir_subdir="PWG4PartCorrDep/PartCorrDep"
84 parmaker_input_basedir="STEER"
85 parmaker_input_dir_subdir="STEER"
86 parmaker_output_dir_subdir="STEERBase"
89 parmaker_input_basedir="JETAN"
90 parmaker_input_dir_subdir="JETAN"
91 parmaker_output_dir_subdir="JETAN"
94 parmaker_input_basedir="JETAN"
95 parmaker_input_dir_subdir="JETAN"
96 parmaker_output_dir_subdir="FASTJETAN"
99 echo "parmaker: I'm sorry Dave, I'm afraid I can't do that."
105 echo "parmaker to use source $ALICE_ROOT/$parmaker_input_dir_subdir"
106 if [ -e "$ALICE_ROOT/$parmaker_input_dir_subdir" ]
108 echo "parmaker creating $1.par"
110 if [ $parmaker_input_basedir != $parmaker_input_dir_subdir ]
112 mkdir $parmaker_output_dir_subdir
115 list=`grep Ali ${ALICE_ROOT}/${parmaker_input_basedir}/lib${1}.pkg | sed -e '/EXPORT/d' -e '/EINCLUDE/d' -e 's:.cxx::g' -e 's:SRCS::' -e 's:=::' -e 's:+::' -e 's:\\\::'`
118 cp $ALICE_ROOT/$parmaker_input_basedir/$i.cxx $parmaker_output_dir_subdir
119 cp $ALICE_ROOT/$parmaker_input_basedir/$i.h $parmaker_output_dir_subdir
123 cp -r $ALICE_ROOT/$parmaker_input_basedir/PROOF-INF.$1/* $1/PROOF-INF
124 cp $ALICE_ROOT/$parmaker_input_basedir/${1}LinkDef.h $1
125 cp $ALICE_ROOT/$parmaker_input_basedir/lib${1}.pkg $1
126 cp $ROOTSYS/test/Makefile.arch $1
127 cp $ALICE_ROOT/$parmaker_input_basedir/Makefile $1/Makefiletemp
128 sed -e 's:include \$(ROOTSYS)\/test\/Makefile.arch:include Makefile.arch:' -e "s:PACKAGE = .*:PACKAGE = ${1}:" $1/Makefiletemp > $1/Makefile
130 /bin/rm $1/Makefiletemp
133 # Apply temporary patches.
136 echo "no non-standard patches applied"
140 if [ -e "patches/$1" ]
142 echo "applying temporary $1 patch"
143 cp patches/$1/* $parmaker_output_dir_subdir
144 echo "completed temporary $1 patch"
146 echo "no patches found for $1"
149 echo "argument $3 not processed"
153 # Apply further FASTJETAN tweaks.
154 if [ $1 = "FASTJETAN" ]
156 echo "Making temporary adjustments to FASTJETAN.par."
157 cp -r $ALICE_ROOT/JETAN/fastjet FASTJETAN
159 sed -e "s:CXXFLAGS +:\nALICEINC += -I../JETAN -I./fastjet -I./fastjet/fastjet\n\n\nCXXFLAGS +:" FASTJETAN/Makefile > FASTJETAN/Makefile2
160 mv FASTJETAN/Makefile2 FASTJETAN/Makefile
169 echo "parmaker to use local source $1"
172 echo "parmaker creating $1.par"
175 echo "local subdirectory $1 not found"