#!/usr/bin/env make # # 2020 makefile # # This work by Landon Curt Noll, Simon Cooper, and Leonid A. Broukhis # is licensed under: # # Creative Commons Attribution-ShareAlike 3.0 Unported License. # # See: http://creativecommons.org/licenses/by-sa/3.0/ ################ # tool locations ################ # SHELL= /bin/bash # BUNZIP2= bunzip2 BZIP2= bzip2 CP= cp CPP= cpp CURL= curl DD= dd ECHO= echo GREP= grep GUNZIP= gunzip GZIP_PROG= gzip LD= ld MAKE= make MKDIR= mkdir MV= mv RM= rm SED= sed SORT= sort STRIP= strip TAR= tar TR= tr TRUE= true UNIQ= uniq # Set X11_LIBDIR to the directory where the X11 library resides # #X11_LIBDIR= /usr/X11R6/lib #X11_LIBDIR= /usr/X11/lib X11_LIBDIR= /opt/X11/lib # Set X11_INCLUDEDIR to the directory where the X11 include files reside # #X11_INCDIR= /usr/X11R6/include #X11_INCDIR= /usr/X11/include X11_INCDIR= /opt/X11/include # ANSI compiler # # Set CC to the name of your ANSI compiler. # CC= cc ############### # IOCCC winners ############### # WINNERS= burton carlini endoh1 endoh2 endoh3 ferguson1 ferguson2 giles \ kurdyukov1 kurdyukov2 kurdyukov3 kurdyukov4 otterness tsoj yang ################### # build all entries ################### # all: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) X11_LIBDIR=${X11_LIBDIR} X11_INCDIR=${X11_INCDIR} $@)"; \ (cd $$i && bear $(MAKE) "X11_LIBDIR=${X11_LIBDIR}" "X11_INCDIR=${X11_INCDIR}" $@); \ done # alternative executable # alt: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) X11_LIBDIR=${X11_LIBDIR} X11_INCDIR=${X11_INCDIR} $@)"; \ (cd $$i && bear $(MAKE) "X11_LIBDIR=${X11_LIBDIR}" "X11_INCDIR=${X11_INCDIR}" $@); \ done ############### # utility rules ############### # everything: all alt clean: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && $bear (MAKE) $@); \ done clobber: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done nuke: clobber @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done install: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done ################## # 133t hacker rulz ################## # love: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done haste: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done waste: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done make: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done easter_egg: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done fabricate fashion form frame manufacture produce: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done sandwich: @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done # The IOCCC resident astronomer states # charon: supernova @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done pluto: supernova @for i in ${WINNERS} ; do \ ${ECHO} "(cd $$i && bear $(MAKE) $@)"; \ (cd $$i && bear $(MAKE) $@); \ done