TESTS_INT = IntegrationTest RegAccessTests
TESTS_VERIF = ResetTests RegisterTests ProtectionTests ProtModeIntTests ErrorRespTests TransferTests UserOneIntTests TwoFourIntTests EightAllIntTests CSRTests Vic1 Vic2
all: all_int all_verif

all_int: rtl_int netlist_int
all_verif: rtl_verif netlist_verif

rtl_int:
    for tests in ${TESTS_INT} ; do \
    (cd  $(ARM_VIC)/PL190_VC/vic_pl190/integration/bustest; \
    ${MAKE} $${tests} ; \
    ) ; \
    (cd  $(ARM_VIC)/PL190_VC/vic_pl190/integration/vhdl; \
    make rtl ; \
    ) ; \
    done


formality_scan :
                @-mkdir -p ${TARGET_TECH}/formality
                @-rm -f ${TARGET_TECH}/formality/formalityscan.log
                @export DESIGN=ARM926EJS_WRAP ;\
                pushd ${TARGET_TECH}/formality ;\
                fm_shell -f ${RTLHOME}/util/scripts/formality/formalityscan.tcl | tee -a formalityscan.log ;\
                popd

Note '-mkdir' i.e a minus sign preceeding a command. Which is to ignore the return value of 'mkdir'.
For example you dont know if the dir you are tring to create exists, so it would be useful to have
@-mkdir instead of just @mkdir

Another Example of Makefile