From 93fa5e0e7ec2569618347ffbe66d3c6bab7a68a9 Mon Sep 17 00:00:00 2001 From: Landon Curt Noll Date: Thu, 19 Jun 2025 21:11:16 -0700 Subject: [PATCH] update template/Makefile.year as per final rounds judging requirements --- template/Makefile.year | 397 +++++++++++++++++++++-------------------- 1 file changed, 206 insertions(+), 191 deletions(-) diff --git a/template/Makefile.year b/template/Makefile.year index 3f5b55478..b0ac697b2 100644 --- a/template/Makefile.year +++ b/template/Makefile.year @@ -10,7 +10,7 @@ # Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem, # first check this URL for a list of known bugs and (mis)features of IOCCC entries: # -# https://www.ioccc.org/bugs.html +# https://www.ioccc.org/bugs.html # # GitHub pull requests are welcome! Please see the above URL for details. # @@ -19,7 +19,7 @@ # This file is Copyright (c) %%YEAR%% by Landon Curt Noll. All Rights Reserved. # You are free to share and adapt this file under the terms of this license: # -# Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) +# Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) # # For more information, see: https://creativecommons.org/licenses/by-sa/4.0/ @@ -27,23 +27,21 @@ ############################# # shell used by this Makefile ############################# -# + SHELL= bash ####################### # common tool locations ####################### -# + include ../var.mk ############### # IOCCC entries ############### -# -# BEGIN - DO NOT REMOVE THIS LINE - make new_entry uses this line # -ENTRIES= -# END - DO NOT REMOVE THIS LINE - make new_entry also uses this # + +ENTRIES= submit.[0-9]* YEAR= %%YEAR%% @@ -51,23 +49,25 @@ YEAR= %%YEAR%% ################### # build all entries ################### -# + all: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' .PHONY: all alt data everything diff_orig_prog diff_prog_orig \ diff_alt_prog diff_prog_alt diff_orig_alt diff_alt_orig \ - clean clobber install genpath add_dir love haste waste maker \ - easter_egg sandwich supernova more_magic magic charon pluto + clean clobber install genpath clang-format add_dir love haste \ + waste maker easter_egg sandwich supernova more_magic magic charon pluto # alternative executable # @@ -75,11 +75,13 @@ alt: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -89,11 +91,13 @@ data: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -103,11 +107,13 @@ everything: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -115,18 +121,20 @@ everything: ##################### # make a difference # ##################### -# + # diff orig source and source # diff_orig_prog: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -136,11 +144,13 @@ diff_prog_orig: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -150,11 +160,13 @@ diff_alt_prog: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -164,11 +176,13 @@ diff_prog_alt: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -178,11 +192,13 @@ diff_orig_alt: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -191,11 +207,13 @@ diff_alt_orig: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -203,16 +221,18 @@ diff_alt_orig: ############### # utility rules ############### -# + clean: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -220,11 +240,13 @@ clobber: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -233,16 +255,18 @@ genpath: @${RM} -f .tmp.genpath @${TOUCH} .tmp.genpath @-for i in ${ENTRIES}; do \ - echo "${YEAR}/$$i" >> .tmp.genpath; \ - ${RM} -f "$$i/.tmp.genpath"; \ - echo "${YEAR}/$$i" >> "$$i/.tmp.genpath"; \ - if ${CMP} -s "$$i/.tmp.genpath" "$$i/.path"; then \ - ${RM} -f "$$i/.tmp.genpath"; \ - echo "$$i/.path already up to date"; \ - else \ - ${MV} -f "$$i/.tmp.genpath" "$$i/.path"; \ - ${CHMOD} 0444 "$$i/.path"; \ - echo "updated $$i/.path"; \ + if [[ -d $$i ]]; then \ + echo "${YEAR}/$$i" >> .tmp.genpath; \ + ${RM} -f "$$i/.tmp.genpath"; \ + echo "${YEAR}/$$i" >> "$$i/.tmp.genpath"; \ + if ${CMP} -s "$$i/.tmp.genpath" "$$i/.path"; then \ + ${RM} -f "$$i/.tmp.genpath"; \ + echo "$$i/.path already up to date"; \ + else \ + ${MV} -f "$$i/.tmp.genpath" "$$i/.path"; \ + ${CHMOD} 0444 "$$i/.path"; \ + echo "updated $$i/.path"; \ + fi; \ fi; \ done @-if ${CMP} -s .tmp.genpath .year; then \ @@ -260,67 +284,36 @@ genpath: # NOTE: 'Don't Panic' if you don't understand the stuff below ############################################################# -# add ${NEW_ENTRY} to the list of ${ENTRIES} and output Makefile lines to set updated ${ENTRIES} value -# -new_entry: - @(echo 'ENTRIES= '; \ - (echo ${ENTRIES} ${NEW_ENTRY}) | ${TR} ' ' '\012' | ${SORT} -d -u) | \ - ${FMT} | ${SED} -e '2,$$s/^/\t/' -e 's/$$/ \\/' -e '$$s/ \\//' - ######################## # extended utility rules ######################## -.PHONY: indent_clean indent_clobber - -# you may be able to misunderstand the source by reading indent.c -# -indent.c: - @echo '=-=-= ${YEAR} begin make $@ =-=-=' - @echo - @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ - done - @echo '=-=-= ${YEAR} complete make $@ =-=-=' - -indent_clean: clean - @echo '=-=-= ${YEAR} begin make $@ =-=-=' - @echo - @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ - done - @echo '=-=-= ${YEAR} complete make $@ =-=-=' - -indent_clobber: indent_clean clobber - @echo '=-=-= ${YEAR} begin make $@ =-=-=' - @echo - @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ - done - @echo '=-=-= ${YEAR} complete make $@ =-=-=' - install: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ + done + @echo '=-=-= ${YEAR} complete make $@ =-=-=' + +clang-format: + @echo '=-=-= ${YEAR} begin make $@ =-=-=' + @echo + @for i in ${ENTRIES}; do \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -328,16 +321,18 @@ install: ################## # 1337 hacker rulz ################## -# + love: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -345,11 +340,13 @@ haste: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -357,11 +354,13 @@ waste: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -369,11 +368,13 @@ maker: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -381,11 +382,13 @@ easter_egg: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -393,11 +396,13 @@ sandwich: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -408,11 +413,13 @@ supernova: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -420,11 +427,13 @@ more_magic: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -432,11 +441,13 @@ magic: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -444,11 +455,13 @@ charon: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-=' @@ -456,10 +469,12 @@ pluto: @echo '=-=-= ${YEAR} begin make $@ =-=-=' @echo @for i in ${ENTRIES}; do \ - echo "=-= start ${YEAR}/$$i =-="; \ - echo "(cd $$i && ${MAKE} $@)"; \ - (cd $$i && ${MAKE} $@); \ - echo "=-= end ${YEAR}/$$i =-="; \ - echo; \ + if [[ -d $$i ]]; then \ + echo "=-= start ${YEAR}/$$i =-="; \ + echo "(cd $$i && ${MAKE} $@)"; \ + (cd $$i && ${MAKE} $@); \ + echo "=-= end ${YEAR}/$$i =-="; \ + echo; \ + fi; \ done @echo '=-=-= ${YEAR} complete make $@ =-=-='