This is a HUGE commit and this task is not done. There are still some
changes that might need to be discussed and since so much is done here I
think it's better to let this go through and then make sure everything
is okay. When the remaining references are discussed they can also be
changed.
I did NOT include changes in the tmp/OLD_manifest directory.
Some of the changes in this commit (it might be exhaustive but it might
not be - not sure):
- In the Makefiles the WINNERS was renamed AUTHORS.
- References to winners.html were changed to authors.html.
- The FAQ named anchor 'fix_a_winner' was renamed 'fix_an_entry'.
- The JSON fields (or whatever they're called) 'winner_id' and
'winner_JSON_format_version' were changed so that 'winner' is 'entry'.
- In scripts for entries 'IOCCC winner' was changed to 'IOCCC entry'.
- 'winners_text' is now 'entries_text'. It might be better to be
'entry_text' as it's per entry but this was not noticed at first. Since
this is easy to fix I am holding off on this for the meantime.
- The script tmp/update-manifest.sh now has the commit log messages
changed to the correct terms as well.
The index.html files were updated as well with any of the above
changes.
There are some references that should NOT be updated. Two examples
caught (and maybe more have slipped through that will have to be changed
back): in 1984/anonymous/README.md the author wrote back to Landon after
being told about the famous tattoo and they used the words:
.. my entry will be the first IOCCC winner ..
but since this comes from the author it should remain so.
The other one is that winners.html should still refer to winners.html as
it informs people that it's been moved to authors.html (it does redirect
too but even so if it was changed it would defeat the purpose of the
message).
With paths like authors.html I tried to copy paste so that hopefully
there are no typos. It is possible that I did not end up doing this with
all but these can be fixed when discovered.
419 lines
10 KiB
Makefile
419 lines
10 KiB
Makefile
#!/usr/bin/env make
|
|
#
|
|
# 2011 Makefile
|
|
|
|
################################################################################
|
|
#
|
|
# IOCCC winning entry code may not work on your system. What was liked/allowed
|
|
# and worked in the past may no longer be liked/allowed or compile/run today.
|
|
#
|
|
# 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.md
|
|
#
|
|
# GitHub pull requests are welcome! Please see the above URL for details.
|
|
#
|
|
################################################################################
|
|
#
|
|
# This file is Copyright (c) 2023 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)
|
|
#
|
|
# For more information, see: https://creativecommons.org/licenses/by-sa/4.0/
|
|
|
|
|
|
#############################
|
|
# shell used by this Makefile
|
|
#############################
|
|
#
|
|
SHELL= bash
|
|
|
|
#######################
|
|
# common tool locations
|
|
#######################
|
|
#
|
|
include ../var.mk
|
|
|
|
|
|
###############
|
|
# IOCCC entries
|
|
###############
|
|
#
|
|
ENTRIES= akari blakely borsanyi dlowe eastman fredriksson goren hamaji hou \
|
|
konno richards toledo vik zucker
|
|
|
|
YEAR= 2011
|
|
|
|
|
|
###################
|
|
# 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; \
|
|
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 love haste waste maker \
|
|
easter_egg sandwich supernova deep_magic magic charon pluto
|
|
|
|
# alternative executable
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# data files
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# both all and alt
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
|
|
#####################
|
|
# 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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# diff source and orig source
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# diff alt source and source
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# diff source and alt source
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# diff orig and alt
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
# diff alt and orig
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
|
|
###############
|
|
# 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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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 $@ =-=-='
|
|
|
|
genpath:
|
|
@echo '=-=-= IOCCC begin make $@ =-=-='
|
|
@${RM} -f .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"; \
|
|
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
|
|
##################
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
|
|
# The IOCCC resident astronomer states
|
|
#
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
deep_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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
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; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|