diff --git a/sinqhm/bld. b/sinqhm/bld. new file mode 100755 index 00000000..9cee3693 --- /dev/null +++ b/sinqhm/bld. @@ -0,0 +1,390 @@ +#! /bin/csh +# pss123:~sinqhm/wind/SinqHM//bld V01E +# +# Script to compile and link the SinqHM_srv programs for vxWorks +# +# rcp -p "lnsa09:tas_src:[sinqhm]bld." ~/wind/SinqHM/bld + +## printf 'Arg 0 = "%s"\n' $0 +## printf 'Arg 1 = "%s"\n' $1 +## printf 'Arg 2 = "%s"\n' $2 +## printf 'Arg 3 = "%s"\n' $3 + + set proc = "$0" + if (`expr match "$proc" "\/"` != 1) set proc = "./$0" + cd $proc:h # Build in bld's directory! + +## alias rcp 'echo " Warning -- remote copy disabled"; echo \!\!:* > /dev/null' +# + set src = "lnsa09:tas_src:[sinqhm]" +## set src = "lnsa01:tas_src:[sinqhm]" +# + if ("`whoami`" != "maden") set src = "lnsg@$src" +# + alias ccvx 'ccppc -O0 -mcpu=603 -I${WIND_BASE}/target/h ' \ + '-fno-builtin -fno-for-scope ' \ + '-nostdinc -DCPU=PPC603 -D_GNU_TOOL -gdwarf -c -Wimplicit' +# + set Insts = (dev dmc sans focus hrpt trics poldi amor) + + if (("$1" == "") || \ + ("$1" == "?") || \ + ("$1" == "h") || \ + ("$1" == "he") || \ + ("$1" == "hel") || \ + ("$1" == "help")) goto show_help + + printf "\n" + printf "Working directory is %s\n" "$cwd" + printf 'Source is "%s"\n' "$src" + printf "\n" + + if ("$1" == "bld") goto bld + if ("$1" == "startup") goto startup + if ("$1" == "basic") goto basic + + foreach inst ($Insts) + if ("$1" == "$inst") goto $inst + end + printf '\aI do not know how to build "%s"\!\n' $1 + goto show_help +#=========================================================================== + show_help_0: + printf '\n\007You must specify what you want to build\!\n\n' + show_help: +#========= + echo "Usage:" + echo " bld bld - copy over new version of bld script." + echo " bld startup - copy over new version of startup script." + echo " bld basic - build basic system." + echo " bld all - build all modules for instrument ." + echo " bld SinqHM_srv [] - build SinqHM_srv module" + echo " bld lwl_server - build lwl_server module" + echo " bld SinqHM_bootParamsConfig - build auto-config module" + echo " bld SinqHM_bootUtil - build boot-utility module" + echo " bld focus FOCUS_srv [] - build FOCUS_srv module" + echo " bld auto - build auto-spawn system" + echo " " + echo "Valid instruments are:" + echo " $Insts" + echo " " + exit +#----------------------------------------------------------------------------- + bld: +#=== + echo " Copying bld (previous version is bld.save) ..." + mv bld bld.save + rcp -p "${src}bld." ./bld + exit +#----------------------------------------------------------------------------- + startup: +#======= + echo " Copying startup ..." + rcp -p "${src}startup.template" ./startup + exit +#----------------------------------------------------------------------------- + basic: +#===== + set dflt = "$cwd" + cd $WIND_BASE/target/config/mv1603 + echo " " + echo "Default directory changed to:" + echo " $cwd" + printf "Building vxWorks_basic system image ...\n\n" + touch config.h # Force a complete re-compilation + + make ADDED_CFLAGS=" -DSINQHM_SPAWN=0" \ + ADDED_MODULES="" + + mv vxWorks vxWorks_basic + mv vxWorks.sym vxWorks.sym_basic + cp -p vxWorks_basic $dflt/vxWorks_basic + cp -p vxWorks.sym_basic $dflt/vxWorks.sym + cd $dflt + echo " Done. Result is $dflt/vxWorks_basic" + exit +#============================================================================= +# Now follow labels for all the valid instruments. + dev: +#---- + set instr = Devel; set defn = '-DINST="Devel"'; set direc = Devel/NEW + goto comn + dmc: +#--- + set instr = DMC; set defn = '-DINST="DMC"'; set direc = DMC/NEW + goto comn + sans: +#---- + set instr = SANS; set defn = '-DINST="SANS"'; set direc = SANS/NEW + goto comn + focus: +#----- + set instr = FOCUS; set defn = '-DINST="FOCUS"'; set direc = FOCUS/NEW + goto comn + hrpt: +#---- + set instr = HRPT; set defn = '-DINST="HRPT"'; set direc = HRPT/NEW + goto comn + trics: +#----- + set instr = TriCS; set defn = '-DINST="TRICS"'; set direc = TRICS/NEW + goto comn + poldi: +#----- + set instr = POLDI; set defn = '-DINST="POLDI"'; set direc = POLDI/NEW + goto comn + amor: +#---- + set instr = AMOR; set defn = '-DINST="AMOR"'; set direc = AMOR/NEW + goto comn + comn: +#---- + echo The selected instrument is ${instr}. + + if ("$2" == "") goto show_help_0 + + cd $direc + printf "Working directory changed to %s\n" "$cwd" + if ("$2" == "SinqHM_srv") goto SinqHM_srv + if ("$2" == "lwl_server") goto lwl_server + if ("$2" == "SinqHM_bootParamsConfig") goto SinqHM_bootParamsConfig + if ("$2" == "SinqHM_bootUtil") goto SinqHM_bootUtil + if (("$instr" == "FOCUS") && ("$2" == "FOCUS_srv")) goto FOCUS_srv + if ("$2" == "auto") goto auto + if ("$2" != "all") then + printf '\007I do not know how to build "%s" for %s\!\n' "$2" $instr + printf 'Type "bld help" for help\!\n' + exit + endif +#-------------------------------------------------------------- + SinqHM_srv: +#========== + set Mods = (SinqHM_gbl.h \ + SinqHM_def.h \ + vmio10_def.h \ + SinqHM_srv_main.c \ + SinqHM_srv_routines.c \ + SinqHM_srv_filler.c \ + SinqHM_srv_server.c) + + if (("$3" == "") || ("$3" == "all")) goto SinqHM_srv_all + + foreach module ($Mods) + if ("$3" == "$module") goto SinqHM_srv_cpy + end + + if (("$3" != "?") && \ + ("$3" != "h") && \ + ("$3" != "he") && \ + ("$3" != "hel") && \ + ("$3" != "help")) then + printf '"%s" is not a recognised module of SinqHM_srv\!\n\n' "$3" + endif + + printf 'To build SinqHM_srv, use the command:\n' + printf '\n' + printf ' bld SinqHM_srv [module]\n' + printf '\n' + printf 'Valid instruments are:\n' + printf '\n' + printf ' %s\n' "$Insts" + printf '\n' + printf 'Valid modules are:\n' + printf '\n' + foreach module ($Mods) + printf ' %s\n' "$module" + end + printf '\n' + exit +#---------------------------------------------------------------------------- + SinqHM_srv_cpy: +#-------------- + echo " Copying $3 ..." + rcp -p "${src}$3" ./$3 + + if ("$3" == "SinqHM_gbl.h") goto SinqHM_srv_compile_all + if ("$3" == "SinqHM_def.h") goto SinqHM_srv_compile_all + if ("$3" == "vmio10_def.h") goto SinqHM_srv_compile_all + + echo " Compiling $3 ..." + ccvx $defn $3 + goto SinqHM_srv_link + + SinqHM_srv_all: +#-------------- + echo " " + echo "Building SinqHM_srv ..." + echo " Copying header files ..." + rcp -p "${src}SinqHM_gbl.h" ./SinqHM_gbl.h + rcp -p "${src}SinqHM_def.h" ./SinqHM_def.h + rcp -p "${src}vmio10_def.h" ./vmio10_def.h + echo " Copying source files ..." + rcp -p "${src}SinqHM_srv_main.c" ./SinqHM_srv_main.c + rcp -p "${src}SinqHM_srv_routines.c" ./SinqHM_srv_routines.c + rcp -p "${src}SinqHM_srv_filler.c" ./SinqHM_srv_filler.c + rcp -p "${src}SinqHM_srv_server.c" ./SinqHM_srv_server.c + + SinqHM_srv_compile_all: +#---------------------- + echo " Compiling SinqHM_srv_main.c ..." + ccvx $defn SinqHM_srv_main.c + echo " Compiling SinqHM_srv_routines.c ..." + ccvx $defn SinqHM_srv_routines.c + echo " Compiling SinqHM_srv_filler.c ..." + ccvx $defn SinqHM_srv_filler.c + echo " Compiling SinqHM_srv_server.c ..." + ccvx $defn SinqHM_srv_server.c + + SinqHM_srv_link: +#--------------- + echo " Linking ..." + ldppc -o SinqHM_srv.o -r \ + SinqHM_srv_main.o SinqHM_srv_routines.o \ + SinqHM_srv_filler.o SinqHM_srv_server.o + echo " Done. Result is $cwd/SinqHM_srv.o" + if ("$2" != "all") exit +#--------------------------------------------------------------------------- + lwl_server: +#========== + echo " " + echo "Building lwl_server ..." + echo " Copying header files ..." + rcp -p "${src}vmio10_def.h" ./vmio10_def.h + echo " Copying source files ..." + rcp -p "${src}lwl_server.c" ./lwl_server.c + echo " Compiling lwl_server.c ..." + ccvx lwl_server.c + echo " Done. Result is $cwd/lwl_server.o" + if ("$2" != "all") exit +#--------------------------------------------------------------------------- + SinqHM_bootParamsConfig: +#======================= + echo " " + echo "Building SinqHM_bootParamsConfig ..." + echo " Copying header files ..." + rcp -p "${src}SinqHM_def.h" ./SinqHM_def.h + echo " Copying source files ..." + rcp -p "${src}SinqHM_bootParamsConfig.c" \ + ./SinqHM_bootParamsConfig.c + echo " Compiling SinqHM_bootParamsConfig.c ..." + ccvx -I${WIND_BASE}/target/config/all SinqHM_bootParamsConfig.c + echo " Done. Result is $cwd/SinqHM_bootParamsConfig.o" + if ("$2" != "all") exit +#--------------------------------------------------------------------------- + SinqHM_bootUtil: +#=============== + echo " " + echo "Building SinqHM_bootUtil ..." + echo " Copying header file ..." + rcp -p "${src}SinqHM_def.h" ./SinqHM_def.h + echo " Copying source file ..." + rcp -p "${src}SinqHM_bootUtil.c" \ + ./SinqHM_bootUtil.c + echo " Compiling SinqHM_bootUtil.c ..." + ccvx -I${WIND_BASE}/target/config/all SinqHM_bootUtil.c + echo " Done. Result is $cwd/SinqHM_bootUtil.o" + if ("$2" != "all") exit +#--------------------------------------------------------------------------- + FOCUS_srv: +#========== + if ($instr != "FOCUS") goto FOCUS_srv_skp + set Mods = ( FOCUS_gbl.h \ + SinqHM_def.h \ + FOCUS_srv_main.c ) + + if (("$3" == "") || ("$3" == "all")) goto FOCUS_srv_all + + foreach module ( $Mods ) + if ("$3" == "$module") goto FOCUS_srv_cpy + end + + if (("$3" != "?") && \ + ("$3" != "h") && \ + ("$3" != "he") && \ + ("$3" != "hel") && \ + ("$3" != "help")) then + printf '"%s" is not a recognised module of FOCUS_srv\!\n\n' "$3" + endif + + printf 'To build FOCUS_srv, use the command:\n' + printf '\n' + printf ' bld FOCUS_srv [module]\n' + printf '\n' + printf 'Valid instruments are:\n' + printf '\n' + printf ' %s\n' "focus" + printf '\n' + printf 'Valid modules are:\n' + printf '\n' + foreach module ($Mods) + printf ' %s\n' "$module" + end + printf '\n' + exit +#---------------------------------------------------------------------------- + FOCUS_srv_cpy: +#-------------- + echo " Copying $3 ..." + rcp -p "${src}$3" ./$3 + + if ("$3" == "FOCUS_gbl.h") goto FOCUS_srv_compile_all + if ("$3" == "SinqHM_def.h") goto FOCUS_srv_compile_all + + echo " Compiling $3 ..." + ccvx $defn $3 + goto FOCUS_srv_link + + FOCUS_srv_all: +#-------------- + echo " " + echo "Building FOCUS_srv ..." + echo " Copying header files ..." + rcp -p "${src}FOCUS_gbl.h" ./FOCUS_gbl.h + rcp -p "${src}SinqHM_def.h" ./SinqHM_def.h + echo " Copying source files ..." + rcp -p "${src}FOCUS_srv_main.c" ./FOCUS_srv_main.c + + FOCUS_srv_compile_all: +#---------------------- + echo " Compiling FOCUS_srv_main.c ..." + ccvx $defn FOCUS_srv_main.c + + FOCUS_srv_link: +#--------------- + echo " Linking ..." + ldppc -o FOCUS_srv.o -r \ + FOCUS_srv_main.o + echo " Done. Result is $cwd/FOCUS_srv.o" + FOCUS_srv_skp: +#------------- + if ("$2" != "all") exit +#--------------------------------------------------------------------------- + auto: +#==== + set dflt = "$cwd" + cd $WIND_BASE/target/config/mv1603 + echo " " + echo "Default directory changed to:" + echo " $cwd" + printf "\n\n==================================================\n" + printf \ + "\n\nBuilding vxWorks_auto system image for $instr Instrument ...\n\n" + touch config.h # Force a complete re-compilation + + set mods = ( $dflt/SinqHM_srv.o \ + $dflt/lwl_server.o \ + $dflt/SinqHM_bootParamsConfig.o \ + $dflt/SinqHM_bootUtil.o ) +### if ($instr == FOCUS) set mods = ( $mods $dflt/FOCUS_srv.o ) + + make ADDED_CFLAGS=" -DSINQHM_SPAWN=1" \ + ADDED_MODULES="$mods" + + mv vxWorks vxWorks_auto + mv vxWorks.sym vxWorks.sym_auto + cp -p vxWorks_auto $dflt/vxWorks_auto + cp -p vxWorks.sym_auto $dflt/vxWorks.sym + cd $dflt + echo " Done. Result is $dflt/vxWorks_auto" + exit +#------------------------------------------------------------------ End of bld