Build script for vxWorks modules

This commit is contained in:
cvs
2000-11-06 13:04:47 +00:00
parent e3e229f788
commit 1938edc11d

390
sinqhm/bld. Executable file
View File

@ -0,0 +1,390 @@
#! /bin/csh
# pss123:~sinqhm/wind/SinqHM/<instr>/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 <inst> all - build all modules for instrument <inst>."
echo " bld <inst> SinqHM_srv [<module>] - build SinqHM_srv module"
echo " bld <inst> lwl_server - build lwl_server module"
echo " bld <inst> SinqHM_bootParamsConfig - build auto-config module"
echo " bld <inst> SinqHM_bootUtil - build boot-utility module"
echo " bld focus FOCUS_srv [<module>] - build FOCUS_srv module"
echo " bld <inst> 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 <instr> 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 <instr> 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