The gbssub batch file is used only for Non-GBS SubSystems, is located in the GBS_SUBSYS_PATH
directory and is used for the building or auditing of these Subsystems.
It is used by gbssysbuild,
gbssysmake,
gbssysaudit and for Cleanup functions in gbsmaint.
@ECHO OFF
::=============================================================================
:: [%SUBSYS%] gbssub.bat
:: Requires 1 parameter: action
:: Called to cleanup, gen, make or audit a non-GBS SubSystem
:: For 'make' SubSystems
::=============================================================================
::
:: Currently in $GBS_SYSTEM_PATH/dev/$GBS_SUBSYS
:: Applicable EnvVars:
:: GBS_BUILD
:: GBS_BUILD_PLUGIN
:: GBS_BUILD_PLUGIN_PATH ('make' or 'Other')
:: GBS_BUILD_PLUGIN_BIN_PATH ('make' or 'Other')
:: GBS_BUILD_ ('make' or 'Other')
:: GBS_AUDIT_PLUGIN (for Audit only)
:: GBS_AUDIT_PLUGIN_PATH (for Audit only) ('make' or 'Other')
:: GBS_AUDIT_PLUGIN_BIN_PATH (for Audit only) ('make' or 'Other')
:: GBS_AUDIT_ (for Audit only) ('make' or 'Other')
::
:: Availabe EnvVars:
:: GBS_SYSTEM_PATH
:: GBS_SUBSYS
:: GBS_SUBSYS_PATH
:: GBS_AUDIT_PATH
:: GBS_BUILD_PATH
:: GBS_APP_PATH
::
:: GBS_MAKE
:: GBS_IGNORE_ERRORS 0 | 1
:: GBS_MODE FINAL | ASSERT | DEBUG | PROFILING
:: GBS_OPT YES | SPEED | SIZE | DEBUG | NO
:: GBS_DEBUGGER NO | YES
:: GBS_MAP NO | YES
::
:: GBS_BLD_
:: GBS_SYSFLAGS_
:: GBS_FLAGS_ also contains flags resulting from MODE, OPT, DEBUGGER and MAP
:: GBS_SYSINCS_
:: GBS_INCS_
::
:: GBS_MAKE_FLAGS '-i' if GBS_IGNORE_ERRORS == TRUE
::
::=============================================================================
setlocal
set rc=0
set action=%1
::
:: Adjust for proper actions
:: Just one to a few lines per action. Keep it simple. Do not try to be clever.
:: Do not forget to set rc to proper exit value (0=success, >0=fail)
::
if [%action%] == [cleanup_bld] goto CASE_CLEANUP_BLD
if [%action%] == [gen] goto CASE_GEN
if [%action%] == [make] goto CASE_MAKE
if [%action%] == [cleanup_aud] goto CASE_CLEANUP_AUD
if [%action%] == [audit] goto CASE_AUDIT
goto CASE_DEFAULT
::
:: CLEANUP_BLD
::
:CASE_CLEANUP_BLD
echo GBSSUB_: ** SubSys=%GBS_SUBSYS% - Build=%GBS_BUILD% - Action=%action%
:: <== add your command(s) to execute the bld_cleanup here and remove these lines.
:: Do not forget to set rc to proper exit value (0=success, >0=fail)
:: <== Probably something like:
%GBS_MAKE% clean -f Makefile.mk -i
set rc=%ERRORLEVEL%
goto CASE_END
:CASE_GEN
::
:: GEN
::
echo GBSSUB_: ** SubSys=%GBS_SUBSYS% - Build=%GBS_BUILD% - Action=%action%
:: <== add your command(s) to execute the gen here and remove these lines.
:: Do not execute the 'clean' in this command.
:: Do not forget to set rc to proper exit value (0=success, >0=fail)
:: <== Probably something like:
%GBS_MAKE% -f Makefile.mk -B -k %GBS_MAKE_FLAGS%
set rc=%ERRORLEVEL%
goto CASE_END
:CASE_MAKE
::
:: MAKE
::
echo GBSSUB_: ** SubSys=%GBS_SUBSYS% - Build=%GBS_BUILD% - Action=%action%
:: <== add your command(s) to execute the make here and remove these lines.
:: Do not forget to set rc to proper exit value (0=success, >0=fail)
:: <== Probably something like:
%GBS_MAKE% -f Makefile.mk %GBS_MAKE_FLAGS%
set rc=%ERRORLEVEL%
goto CASE_END
:CASE_CLEANUP_AUD
::
:: CLEANUP_AUD
::
echo GBSSUB_: ** SubSys=%GBS_SUBSYS% - Build=%GBS_BUILD% - Audit=%GBS_AUDIT% - Action=%action%
:: <== add your command(s) to execute the audit_cleanup here and remove these lines.
:: Do not forget to set rc to proper exit value (0=success, >0=fail)
:: <== Probably something like:
%GBS_MAKE% clean -f Makefile_aud.mk -i
set rc=%ERRORLEVEL%
goto CASE_END
:CASE_AUDIT
::
:: AUDIT
::
echo GBSSUB_: ** SubSys=%GBS_SUBSYS% - Build=%GBS_BUILD% - Audit=%GBS_AUDIT% - Action=%action%
:: <== add your command(s) to execute the gbssubaudit.bat here and
:: remove these lines.
:: Do not forget to set rc to proper exit value (0=success, >0=fail)
:: <== Probably something like:
:: %GBS_MAKE% -f Makefile_aud.mk -B -k %GBS_MAKE_FLAGS%
echo GBSSUB_: No audits for non-GBS SubSystems
set rc=%ERRORLEVEL%
goto CASE_END
:CASE_DEFAULT
::
:: DEFAULT
::
echo GBSSUB_: ***FATAL ERROR***
echo - Invalid action '%action%'. Must be one of (cleaunp_bld gen make cleanup_aud audit)
set rc=9
goto CASE_END
:CASE_END
endlocal & set rc=%rc%
exit /B %rc%
:::EOF:::