We now have 6 diff rules:
diff_orig_prog
diff_prog_orig
diff_alt_prog
diff_prog_alt
diff_orig_alt
diff_alt_orig
The FAQ for these diffs needs to be updated
as we have 6 types of diffs now.
391 lines
9.4 KiB
Makefile
391 lines
9.4 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 winners:
|
|
#
|
|
# 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 winners
|
|
###############
|
|
#
|
|
WINNERS= akari blakely borsanyi dlowe eastman fredriksson goren hou \
|
|
konno hamaji richards toledo vik zucker
|
|
|
|
YEAR= 2011
|
|
|
|
###################
|
|
# build all entries
|
|
###################
|
|
#
|
|
all:
|
|
@echo '=-=-= ${YEAR} begin make $@ =-=-='
|
|
@echo
|
|
@for i in ${WINNERS} ; 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 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 \
|
|
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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; do \
|
|
echo "=-= start ${YEAR}/$$i =-="; \
|
|
echo "(cd $$i && $(MAKE) $@)"; \
|
|
(cd $$i && $(MAKE) $@); \
|
|
echo "=-= end ${YEAR}/$$i =-="; \
|
|
echo; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
diff_alt_orig:
|
|
@echo '=-=-= ${YEAR} begin make $@ =-=-='
|
|
@echo
|
|
@for i in ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; do \
|
|
echo "=-= start ${YEAR}/$$i =-="; \
|
|
echo "(cd $$i && $(MAKE) $@)"; \
|
|
(cd $$i && $(MAKE) $@); \
|
|
echo "=-= end ${YEAR}/$$i =-="; \
|
|
echo; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|
|
|
|
|
|
##################
|
|
# 133t hacker rulz
|
|
##################
|
|
#
|
|
love:
|
|
@echo '=-=-= ${YEAR} begin make $@ =-=-='
|
|
@echo
|
|
@for i in ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; 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 ${WINNERS} ; do \
|
|
echo "=-= start ${YEAR}/$$i =-="; \
|
|
echo "(cd $$i && $(MAKE) $@)"; \
|
|
(cd $$i && $(MAKE) $@); \
|
|
echo "=-= end ${YEAR}/$$i =-="; \
|
|
echo; \
|
|
done
|
|
@echo '=-=-= ${YEAR} complete make $@ =-=-='
|