add make genpath rules, .path files, updated .top and .year

Add .path files to each winner directory: a file containing
the path to the winner directory from the top directory.

Changed YYYY/.year files to contain the paths, from the top
directory, if the winning directories for the given year.

Changed `/.top` to contain the IOCCC years.

Added `make genpath` rule to the top Makefile and the
year Makefiles to generate the above.

Added FAQ 6.8 to `faq.md` to explain the above.

Updated manifest to reflect recent changes to the list of files.
This commit is contained in:
Landon Curt Noll committed 2023-12-08 01:29:43 -08:00
1 parent 2f002af1c8
commit 6206201d8a
384 files changed
+3615 -894

No files matched your search

+54 -27
View File
@@ -46,6 +46,7 @@ WINNERS= august dalbec eldby gandalf huffman jonth rcm schweikh1 schweikh2 schwe
YEAR= 1996
###################
# build all entries
###################
@@ -53,7 +54,7 @@ YEAR= 1996
all:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -64,15 +65,15 @@ all:
.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 love haste waste maker easter_egg \
sandwich supernova deep_magic magic charon pluto
clean clobber install genpath love haste waste maker \
easter_egg sandwich supernova deep_magic magic charon pluto
# alternative executable
#
alt:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -86,7 +87,7 @@ alt:
data:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -100,7 +101,7 @@ data:
everything:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -119,7 +120,7 @@ everything:
diff_orig_prog:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -133,7 +134,7 @@ diff_orig_prog:
diff_prog_orig:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -147,7 +148,7 @@ diff_prog_orig:
diff_alt_prog:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -161,7 +162,7 @@ diff_alt_prog:
diff_prog_alt:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -175,7 +176,7 @@ diff_prog_alt:
diff_orig_alt:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -187,7 +188,7 @@ diff_orig_alt:
diff_alt_orig:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -204,7 +205,7 @@ diff_alt_orig:
clean:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -216,7 +217,7 @@ clean:
clobber:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -228,7 +229,7 @@ clobber:
install:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -240,7 +241,7 @@ install:
indent.c:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -249,6 +250,32 @@ indent.c:
done
@echo '=-=-= ${YEAR} complete make $@ =-=-='
genpath:
@echo '=-=-= IOCCC begin make $@ =-=-='
@${RM} -f .tmp.genpath
@-for i in ${WINNERS}; 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"; \
fi; \
done
@-if ${CMP} -s .tmp.genpath .year; then \
${RM} -f .tmp.genpath; \
echo ".year already up to date"; \
else \
${MV} -f .tmp.genpath .year; \
${CHMOD} 0444 .year; \
echo "updated .year"; \
fi
@echo '=-=-= IOCCC complete make $@ =-=-='
##################
# 133t hacker rulz
@@ -257,7 +284,7 @@ indent.c:
love:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -269,7 +296,7 @@ love:
haste:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -281,7 +308,7 @@ haste:
waste:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -293,7 +320,7 @@ waste:
maker:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -305,7 +332,7 @@ maker:
easter_egg:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -317,7 +344,7 @@ easter_egg:
sandwich:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -332,7 +359,7 @@ sandwich:
supernova:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -344,7 +371,7 @@ supernova:
deep_magic:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -356,7 +383,7 @@ deep_magic:
magic:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -368,7 +395,7 @@ magic:
charon:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \
@@ -380,7 +407,7 @@ charon:
pluto:
@echo '=-=-= ${YEAR} begin make $@ =-=-='
@echo
@for i in ${WINNERS} ; do \
@for i in ${WINNERS}; do \
echo "=-= start ${YEAR}/$$i =-="; \
echo "(cd $$i && ${MAKE} $@)"; \
(cd $$i && ${MAKE} $@); \