#!/usr/bin/env make
#
# 1993 Makefile

################################################################################
#
# Regarding individual entries:
#
# IOCCC winning entry code may not work on your system.  Even with standards,
# conditions and build environments change, especially when it comes to more
# extreme code such you might find in an IOCCC winner.  Moreover, what was
# allowed and liked in one IOCCC contest may no longer be liked/allowed in
# later IOCCC years.
#
# Corrections on winning author and fixing typos in remarks are VERY WELCOME.
#
# GitHub pull requests are welcome:
#
# If you have a patch that might make running an entry work in modern Unix-like
# environments, please create a GitHub pull request for the IOCCC judges to
# consider.
#
# Suggestions and corrections regarding Makefiles, winning author information,
# fixing typos in remarks, and code patches are welcome via opening a GitHub
# issue or better yet, by creating a GitHub pull request for the IOCCC judges
# to consider.  To form a GitHub issue or GitHub pull, please visit:
#
# https://github.com/ioccc-src/winner
#
################################################################################

# This work by Landon Curt Noll and Leonid A. Broukhis is licensed under:
#
#	Creative Commons Attribution-ShareAlike 3.0 Unported License.
#
# See: http://creativecommons.org/licenses/by-sa/3.0/


#############################
# shell used by this Makefile
#############################
#
SHELL= bash

#######################
# common tool locations
#######################
#
include ../var.mk


###############
# IOCCC winners
###############
#
WINNERS= cmills dgibson ejb howe jonth leo lmfjyh plummer rince schnitzi vanb

YEAR= 1993

###################
# 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) $$i); \
	    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 $@ =-=-='
