#!/usr/bin/env make # # 1996 Makefile ################################################################################ # # IOCCC winning entry code may not work on your system. What was liked/allowed # and worked in the past may no longer be the liked/allowed or compile/run today. # # Bug fixes, corrections and typo fixes for VERY WELCOME. If you see a problem, # first check this URL for a list of known bugs and (mis)features of IOCCC winners: # # http://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 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= august dalbec eldby gandalf huffman jonth rcm schweikh1 schweikh2 schweikh3 \ westley YEAR= 1996 ################### # 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 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 $@ =-=-=' ############### # 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 $@ =-=-='