From b7921d7f449cde179bbd9f7a98910ae238523678 Mon Sep 17 00:00:00 2001 From: Landon Curt Noll Date: Wed, 21 Sep 2022 01:44:56 -0700 Subject: [PATCH] Update & reformat 1985 in 1984 style --- 1985/1985.tar.bz2 | Bin 4466 -> 16554 bytes 1985/Makefile | 280 +++++++++++- 1985/applin/Makefile | 599 +++++++++++++++++++++++- 1985/applin/hint.html | 14 - 1985/applin/{hint.text => hint.txt} | 4 + 1985/applin/index.html | 180 ++++++++ 1985/applin/orig.Makefile | 26 ++ 1985/august/Makefile | 600 ++++++++++++++++++++++++- 1985/august/hint.html | 20 - 1985/august/{hint.text => hint.txt} | 4 + 1985/august/index.html | 184 ++++++++ 1985/august/orig.Makefile | 26 ++ 1985/index.html | 179 ++++++++ 1985/lycklama/Makefile | 600 ++++++++++++++++++++++++- 1985/lycklama/hint.html | 16 - 1985/lycklama/{hint.text => hint.txt} | 8 + 1985/lycklama/index.html | 187 ++++++++ 1985/lycklama/orig.Makefile | 26 ++ 1985/orig.Makefile | 72 +++ 1985/shapiro/Makefile | 600 ++++++++++++++++++++++++- 1985/shapiro/hint.html | 20 - 1985/shapiro/{hint.text => hint.txt} | 4 + 1985/shapiro/index.html | 185 ++++++++ 1985/shapiro/orig.Makefile | 26 ++ 1985/sicherman/Makefile | 600 ++++++++++++++++++++++++- 1985/sicherman/hint.html | 30 -- 1985/sicherman/{hint.text => hint.txt} | 10 + 1985/sicherman/index.html | 198 ++++++++ 1985/sicherman/orig.Makefile | 26 ++ years-spoiler.html | 55 ++- years.html | 55 ++- 31 files changed, 4584 insertions(+), 250 deletions(-) delete mode 100644 1985/applin/hint.html rename 1985/applin/{hint.text => hint.txt} (94%) create mode 100644 1985/applin/index.html create mode 100644 1985/applin/orig.Makefile delete mode 100644 1985/august/hint.html rename 1985/august/{hint.text => hint.txt} (96%) create mode 100644 1985/august/index.html create mode 100644 1985/august/orig.Makefile create mode 100644 1985/index.html delete mode 100644 1985/lycklama/hint.html rename 1985/lycklama/{hint.text => hint.txt} (75%) create mode 100644 1985/lycklama/index.html create mode 100644 1985/lycklama/orig.Makefile create mode 100644 1985/orig.Makefile delete mode 100644 1985/shapiro/hint.html rename 1985/shapiro/{hint.text => hint.txt} (96%) create mode 100644 1985/shapiro/index.html create mode 100644 1985/shapiro/orig.Makefile delete mode 100644 1985/sicherman/hint.html rename 1985/sicherman/{hint.text => hint.txt} (80%) create mode 100644 1985/sicherman/index.html create mode 100644 1985/sicherman/orig.Makefile diff --git a/1985/1985.tar.bz2 b/1985/1985.tar.bz2 index 6c181285eaf882dd27075d07b2c911b68db55028..cd8fd8de6703dea4ef7f279fa66a016895915283 100644 GIT binary patch literal 16554 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 literal 4466 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/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${GINDENT} < $< > $@"; \ + ${GINDENT} < $< > $@; \ + elif which "${INDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${INDENT} < $< > $@"; \ + ${INDENT} < $< > $@; \ + else \ + ${ECHO} "no intent tool found, ident $< yourself, sorry"; \ + ${ECHO} "exit 1"; \ + exit 1; \ + fi + + +################## +# 133t hacker rulz +################## +# +love: + @echo 'not war?' + @${TRUE} + +haste: + $(MAKE) waste + @${TRUE} + +waste: + @echo 'haste' + @${TRUE} + +make: + @echo 'Participate in a maker faire' + @${TRUE} + +easter_egg: + @echo you expected to often misunderstand this $${RANDOM} magic + @echo chongo '' "/\\oo/\\" + @echo Eggy + +fabricate fashion form frame manufacture produce: make + @${TRUE} + +sandwich: + @if [ `id -u` -eq 0 ]; then \ + echo 'Okay.'; \ + echo $${RANDOM}`date +%s`$${RANDOM} > $@; \ + else \ + echo 'What? Make it yourself.'; \ + exit 1; \ + fi + +# Understand the history of the Homebrew Computer Club +# as well as the West Coast Computer Faire and +# you might be confused different. :-) +# +supernova: nuke + @-if [ -r .code_anal ]; then \ + ${RM} -f .code_anal_v6; \ + else \ + echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \ + fi + @echo A $@ helps ${MAKE} the elements that help form planets + @${TRUE} + +deep_magic: + @-if [ -r .code_anal ]; then \ + ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 --FNV1a_hash_512_bit "prog"; \ + else \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + fi + @${TRUE} + +magic: deep_magic + @-if [ -r .code_anal ]; then \ + ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit "prog"; \ + else \ + echo "If you don't eat yer meat, you can't have any pudding!"; \ + echo "How can you have any pudding if you don't eat yer meat?!"; \ + fi + @${TRUE} + +# The IOCCC resident astronomer states +# +charon: supernova + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore IAU, $@ is a planet + +pluto: supernova + ${MAKE} charon + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore, $@ is a planet + @echo get used to having lots of planets because a $< can ${MAKE} a lot of them diff --git a/1985/applin/hint.html b/1985/applin/hint.html deleted file mode 100644 index 02ab784d8..000000000 --- a/1985/applin/hint.html +++ /dev/null @@ -1,14 +0,0 @@ -

Best one liner

- -

Jack Applin [with help from Robert Heckendorn]

- -

Judges' comments:

- -

One liner programs are short but twisted. This “Hello, World” version -certainly takes its time saying hello.

- -

Copyright © 1985, Landon Curt Noll & Larry Bassel. -All Rights Reserved. Permission for personal, educational or non-profit use is -granted provided this this copyright and notice are included in its entirety -and remains unaltered. All other uses must receive prior permission in writing -from both Landon Curt Noll and Larry Bassel.

diff --git a/1985/applin/hint.text b/1985/applin/hint.txt similarity index 94% rename from 1985/applin/hint.text rename to 1985/applin/hint.txt index ba9d0b225..2caa53403 100644 --- a/1985/applin/hint.text +++ b/1985/applin/hint.txt @@ -2,6 +2,10 @@ Jack Applin [with help from Robert Heckendorn] +## To build: + + make all + ## Judges' comments: One liner programs are short but twisted. This "Hello, World" version diff --git a/1985/applin/index.html b/1985/applin/index.html new file mode 100644 index 000000000..bfeb60973 --- /dev/null +++ b/1985/applin/index.html @@ -0,0 +1,180 @@ + + + + + + + hint + + + + +

Best one liner

+

Jack Applin [with help from Robert Heckendorn]

+

To build:

+
    make all
+

Judges’ comments:

+

One liner programs are short but twisted. This “Hello, World” version +certainly takes its time saying hello.

+

Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights +Reserved. Permission for personal, educational or non-profit use is +granted provided this this copyright and notice are included in its +entirety and remains unaltered. All other uses must receive prior +permission in writing from both Landon Curt Noll and Larry Bassel.

+ + diff --git a/1985/applin/orig.Makefile b/1985/applin/orig.Makefile new file mode 100644 index 000000000..f1f526851 --- /dev/null +++ b/1985/applin/orig.Makefile @@ -0,0 +1,26 @@ +# %W% %G% %U% +# +# 1985 makefile +# +# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. +# All Rights Reserved. Permission for personal, educational or non-profit +# use is granted provided this this copyright and notice are included in its +# entirety and remains unaltered. All other uses must receive prior permission +# from Landon Curt Noll and Larry Bassel. + + +SHELL= /bin/sh +WINNERS= applin + +all: ${WINNERS} + +applin: applin.c + cc $? -o $@ + +clean: + rm -f core +clobber: clean + rm -f ${WINNERS} + +install: all + @echo are you kidding'??' diff --git a/1985/august/Makefile b/1985/august/Makefile index 281da421f..cf8293fbd 100644 --- a/1985/august/Makefile +++ b/1985/august/Makefile @@ -1,26 +1,592 @@ -# %W% %G% %U% +#!/usr/bin/env make # -# 1985 makefile +# IOCCC 1985 winning entry - august + +################################################################################ # -# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. -# All Rights Reserved. Permission for personal, educational or non-profit -# use is granted provided this this copyright and notice are included in its -# entirety and remains unaltered. All other uses must receive prior permission -# from Landon Curt Noll and Larry Bassel. +# An Historical Makefile NOTE: +# +# The orig.Makefile, if it exits, is the original Makefile before this IOCCC +# year directory was reworked so that entries are in separate directories. +# This also applies to any orig.ansi.mk and orig.common.mk files. +# +# Several Makefiles were modified / formed in 2022, and as such it may have +# elements that are not historically compatible with way entries were built. +# The orig.Makefile, if it exits, is a copy of the pre-modified 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 judgess 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= /bin/sh -WINNERS= august +############################# +# shell used by this Makefile +############################# +# +SHELL= /bin/bash -all: ${WINNERS} +####################### +# common tool locations +####################### +# +A2P= a2p +AR= ar +ASA= asa +AT= at +ATQ= atq +ATRM= atrm +AWK= awk +BANNER= banner +BASE64= base64 +BASENAME= basename +BATCH= batch +BC= bc +BINHEX= binhex +BISON= bison +BUNZIP2= bunzip2 +BZCAT= bzcat +BZCMP= bzcmp +BZDIFF= bzdiff +BZEGREP= bzegrep +BZFGREP= bzfgrep +BZGREP= bzgrep +BZIP2= bzip2 +BZLESS= bzless +BZMORE= bzmore +C2PH= c2ph +C89= c89 +C99= c99 +CAL= cal +CALC= calc +CAT= cat +CD= cd +CHFLAGS= chflags +CHGRP= chgrp +CHMOD= chmod +CKSUM= cksum +CLANG= clang +CLANG_PLUSPLUS= clang++ +CLEAR= clear +CMP= cmp +COL= col +COLLDEF= colldef +COLRM= colrm +COLUMN= column +COMPRESS= compress +CP= cp +CPIO= cpio +CPP= cpp +CRC32= crc32 +CSH= csh +CSPLIT= csplit +CURL= curl +CUT= cut +C_PLUSPLUS= c++ +C_PLUSPLUS_FILT= c++filt +DATE= date +DC= dc +DD= dd +DF= df +DIFF3= diff3 +DIFF= diff +DIG= dig +DIRNAME= dirname +ED= ed +EGREP= egrep +ENV= env +EQN= eqn +ETAGS= etags +EXPECT= expect +EXPR= expr +FALSE= false +FGREP= fgrep +FILE= file +FIND2PERL= find2perl +FIND= find +FLEX= flex +FLEX_PLUSPLUS= flex++ +FMT= fmt +FOLD= fold +FS_USAGE= fs_usage +FUNZIP= funzip +FUSER= fuser +GCC= gcc +GDIFFMK= gdiffmk +GENCAT= gencat +GENSTRINGS= genstrings +GETOPT= getopt +GETOPTS= getopts +GNUMAKE= gnumake +GREP= grep +GROFF= groff +GROFFER= groffer +GROG= grog +GROPS= grops +GROTTY= grotty +GUNZIP= gunzip +GVIM= gvim +GZCAT= gzcat +GZEXE= gzexe +GZIP_PROG= gzip +G_PLUSPLUS= g++ +H2PH= h2ph +H2XS= h2xs +HASH= hash +HEAD= head +HOSTNAME_PROG= hostname +ICONV= iconv +ID= id +INDENT= indent +INFO= info +JOT= jot +KILL= kill +KSH= ksh +LAST= last +LD= ld +LESSECHO= lessecho +LEX= len +LINK= link +LN= ln +LS= ls +M4= m4 +MAKE= make +MAN= man +MKDIR= mkdir +MKFIFo= mkfifo +MKTEMP= mktemp +MV= mv +NANO= nano +NASM= nasm +NEQN= neqn +NICE= nice +NL= nl +NM= nm +NOHUP= nohup +NROFF= nroff +NSLOOKUP= nslookup +OD= od +OPENSSL= openssl +PASTE= paste +PATCH= patch +PATHCHK= pathchk +PAX= pax +PERL= perl +PICO= pico +PR= pr +PRINTENV= printenv +PS= ps +PTAR= ptar +PTARDIFF= ptardiff +PTARGREP= ptargrep +PWD= pwd +PYDOC= pydoc +PYTHON= python +PYTHONW= pythonw +READLINK= readlink +RENICE= renice +RESET= reset +REV= rev +RI= ri +RM= rm +RMDIR= rmdir +RSYNC= rsync +RUBY= ruby +RVIM= rvim +SAY= say +SCP= scp +SCREEN= screen +SCRIPT= script +SDIFF= sdiff +SED= sed +SEQ= seq +SFTP= sftp +SH= sh +SHA1= sha1 +SHA= sha +SHAR= shar +SHASUM5_18= shasum5.18 +SHASUM= shasum +SIZE= size +SLEEP= sleep +SORT= sort +SSH= ssh +STAT= stat +STRIP= strip +STTY= stty +SUM= sum +SYNC= sync +TABS= tabs +TAIL= tail +TAR= tar +TEE= tee +TEST= test +TFTP= tftp +TIDY= tidy +TIME= time +TOP= top +TOUCH= touch +TPUT= tout +TPUT= tput +TR= tr +TROFF= troff +TRUE= true +TSET= tset +TSORT= tsort +UL= ul +UNAME= uname +UNCOMPRESS= uncompress +UNEXPAND= unexpand +UNIFDEF= unifdef +UNIFDEFALL= unifdefall +UNIQ= uniq +UNITS= units +UNLINK= unlink +UNZIP= unzip +UNZIPSFX= unzipsfx +UPTIME= uptime +UUDECODE= uudecode +UUENCODE= uuencode +UUIDGEN= uuidgen +VI= vi +VIEW= view +VIM= vim +VIMDIFF= vimdiff +W= w +WAIT4PATH= wait4path +WAIT= wait +WC= wc +WGET= wget +WHAT= what +WHATIS= whatis +WHICH= which +WHO= who +WHOAMI= whoami +WHOIS= whois +WRTIE= write +XAR= xar +XARGS= xargs +XATTR= xattr +XXD= xxd +YACC= yacc +YES= yes +ZCAT= zcat +ZCMP= zcmp +ZDIFF= zdiff +ZEGREP= zegrep +ZFGREP= zfgrep +ZFORCE= zforce +ZGREP= zgrep +ZIP= zip +ZIPCLOAK= zipcloak +ZIPGREp= zipgrep +ZIPINFo= zipinfo +ZIPNOTE= zipnote +ZIPSPLIT= zipsplit +ZLESS= zless +ZMORE= zmore +ZNEW= znew +ZPRINT= zprint +ZSH= zsh -august: august.c - cc $? -o $@ +# 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 + +# Compiler warnings +# +#CWARN= +#CWARN= -Wall +#CWARN= -Wall -Wextra +CWARN= -Wall -Wextra ${CSILENCE} +#CWARN= -Wall -Wextra -pedantic ${CSILENCE} +#CWARN= -Wall -Wextra -Weverything +#CWARN= -Wall -Wextra -Weverything -pedantic +#CWARN= -Wall -Wextra -Weverything -pedantic ${CSILENCE} + +# Silence warnings that ${CWARN} would normally complain about +# +CSILENCE= -Wno-error -Wno-implicit-function-declaration -Wno-main \ + -Wno-unused-parameter -Wno-unused-variable +#CSILENCE= -Wno-implicit-int + +# compiler standard +# +#CSTD= +#CSTD= -ansi +CSTD= -std=gnu89 + +# compiler bit architecture +# +# Some entries require 32-bitness: +# ARCH= -m32 +# +# Some entries require 64-bitness: +# ARCH= -m64 +# +# By default we assume nothing: +# +ARCH= + +# defines that are needed to compile +# +CDEFINE= +#CDEFINE= -DIOCCC=26 + +# include files that are needed to compile +# +CINCLUDE= +#CINCLUDE= -include stdlib.h +#CINCLUDE= -include stdio.h +#CINCLUDE= -include stdlib.h -include stdio.h +#CINCLUDE= -I ${X11_INCDIR} +#CINCLUDE= -I ${HOMEBREW_PREFIX}/include/SDL2 + +# optimization +# +# Most compiles will safely use -O2. Some can use only -O1 or -O. +# A few compilers have broken optimizers or this entry make break +# under those buggy optimizers and thus you may not want anything. +# Reasonable compilers will allow for -O3. +# +#OPT= +#OPT= -O +#OPT= -O1 +#OPT= -O2 +OPT= -O3 + +# default flags for ANSI C compilation +# +CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT} + +# Libraries needed to build +# +LIBS= +#LIBS= -lm +#LIBS= -L ${X11_LIBDIR} -lX11 +#LIBS= -L ${HOMEBREW_PREFIX}/lib -lSDL + +# ANSI compiler +# +# Set CC to the name of your ANSI compiler. +# +# Some entries seem to need gcc. If you have gcc, set +# both CC and MAY_NEED_GCC to gcc. +# +# If you do not have gcc, set CC to the name of your ANSI compiler, and +# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just : +# to disable such programs. +# +CC= cc +#CC=clang +MAY_NEED_GCC= gcc + + +############################## +# Special flags for this entry +############################## +# +ENTRY= august +PROG= ${ENTRY} +# +OBJ= ${PROG}.o +DATA= +TARGET= ${PROG} +# +ALT_OBJ= +ALT_TARGET= + + +################# +# build the entry +################# +# +all: ${DATA} ${TARGET} + @${TRUE} + +.PHONY: alt data everything clean clobber nuke dist_clean \ + install build love haste waste make easter_egg \ + supernova deep_magic magic charon pluto + +${PROG}: ${PROG}.c + ${CC} ${CFLAGS} $< -o $@ ${LIBS} + +# alternative executable +# +alt: ${DATA} ${ALT_TARGET} + @${TRUE} + +# data files +# +data: ${DATA} + @${TRUE} + + +############### +# utility rules +############### +# +everything: all alt clean: - rm -f core -clobber: clean - rm -f ${WINNERS} + ${RM} -f ${OBJ} ${ALT_OBJ} + @-if [ -f indent.c ]; then \ + ${ECHO} ${RM} -f indent.c; \ + ${RM} -f indent.c; \ + fi -install: all - @echo are you kidding'??' +clobber: clean + ${RM} -f ${TARGET} ${ALT_TARGET} + @-if [ -e sandwich ]; then \ + ${RM} -f sandwich; \ + echo 'ate sandwich'; \ + fi + +nuke: clobber + @${TRUE} + +dist_clean: nuke + @${TRUE} + +install: + @echo "Dr. Spock says that is not logical!" + @${TRUE} + +# you may be able to misunderstand the source by reading indent.c +# +indent.c: ${PROG}.c + @if which "${GINDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${GINDENT} < $< > $@"; \ + ${GINDENT} < $< > $@; \ + elif which "${INDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${INDENT} < $< > $@"; \ + ${INDENT} < $< > $@; \ + else \ + ${ECHO} "no intent tool found, ident $< yourself, sorry"; \ + ${ECHO} "exit 1"; \ + exit 1; \ + fi + + +################## +# 133t hacker rulz +################## +# +love: + @echo 'not war?' + @${TRUE} + +haste: + $(MAKE) waste + @${TRUE} + +waste: + @echo 'haste' + @${TRUE} + +make: + @echo 'Participate in a maker faire' + @${TRUE} + +easter_egg: + @echo you expected to often misunderstand this $${RANDOM} magic + @echo chongo '' "/\\oo/\\" + @echo Eggy + +fabricate fashion form frame manufacture produce: make + @${TRUE} + +sandwich: + @if [ `id -u` -eq 0 ]; then \ + echo 'Okay.'; \ + echo $${RANDOM}`date +%s`$${RANDOM} > $@; \ + else \ + echo 'What? Make it yourself.'; \ + exit 1; \ + fi + +# Understand the history of the Homebrew Computer Club +# as well as the West Coast Computer Faire and +# you might be confused different. :-) +# +supernova: nuke + @-if [ -r .code_anal ]; then \ + ${RM} -f .code_anal_v6; \ + else \ + echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \ + fi + @echo A $@ helps ${MAKE} the elements that help form planets + @${TRUE} + +deep_magic: + @-if [ -r .code_anal ]; then \ + ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + fi + @${TRUE} + +magic: deep_magic + @-if [ -r .code_anal ]; then \ + ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "If you don't eat yer meat, you can't have any pudding!"; \ + echo "How can you have any pudding if you don't eat yer meat?!"; \ + fi + @${TRUE} + +# The IOCCC resident astronomer states +# +charon: supernova + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore IAU, $@ is a planet + +pluto: supernova + ${MAKE} charon + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore, $@ is a planet + @echo get used to having lots of planets because a $< can ${MAKE} a lot of them diff --git a/1985/august/hint.html b/1985/august/hint.html deleted file mode 100644 index 3c3226380..000000000 --- a/1985/august/hint.html +++ /dev/null @@ -1,20 +0,0 @@ -

The most obscure program

- -

Lennart Augustsson -<chalmers!augustss>

- -

Judges' comments:

- -

An interesting use of a recursive call to main. Compile and execute -without args. What is the initial value of b, and does it alter the -action of the program?

- -

If you let it, the program will continue to print a numerical sequence -(can you guess in what base it is printed?) until you run out of -memory or until they sell your computer, which ever comes first.

- -

Copyright © 1985, Landon Curt Noll & Larry Bassel. -All Rights Reserved. Permission for personal, educational or non-profit use is -granted provided this this copyright and notice are included in its entirety -and remains unaltered. All other uses must receive prior permission in writing -from both Landon Curt Noll and Larry Bassel.

diff --git a/1985/august/hint.text b/1985/august/hint.txt similarity index 96% rename from 1985/august/hint.text rename to 1985/august/hint.txt index e37f47223..dcb903bf7 100644 --- a/1985/august/hint.text +++ b/1985/august/hint.txt @@ -3,6 +3,10 @@ Lennart Augustsson +## To build: + + make all + ## Judges' comments: An interesting use of a recursive call to main. Compile and execute diff --git a/1985/august/index.html b/1985/august/index.html new file mode 100644 index 000000000..23f8e9eb2 --- /dev/null +++ b/1985/august/index.html @@ -0,0 +1,184 @@ + + + + + + + hint + + + + +

The most obscure program

+

Lennart Augustsson <chalmers!augustss>

+

To build:

+
    make all
+

Judges’ comments:

+

An interesting use of a recursive call to main. Compile and execute +without args. What is the initial value of b, and does it alter the +action of the program?

+

If you let it, the program will continue to print a numerical +sequence (can you guess in what base it is printed?) until you run out +of memory or until they sell your computer, which ever comes first.

+

Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights +Reserved. Permission for personal, educational or non-profit use is +granted provided this this copyright and notice are included in its +entirety and remains unaltered. All other uses must receive prior +permission in writing from both Landon Curt Noll and Larry Bassel.

+ + diff --git a/1985/august/orig.Makefile b/1985/august/orig.Makefile new file mode 100644 index 000000000..281da421f --- /dev/null +++ b/1985/august/orig.Makefile @@ -0,0 +1,26 @@ +# %W% %G% %U% +# +# 1985 makefile +# +# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. +# All Rights Reserved. Permission for personal, educational or non-profit +# use is granted provided this this copyright and notice are included in its +# entirety and remains unaltered. All other uses must receive prior permission +# from Landon Curt Noll and Larry Bassel. + + +SHELL= /bin/sh +WINNERS= august + +all: ${WINNERS} + +august: august.c + cc $? -o $@ + +clean: + rm -f core +clobber: clean + rm -f ${WINNERS} + +install: all + @echo are you kidding'??' diff --git a/1985/index.html b/1985/index.html new file mode 100644 index 000000000..d11af2d61 --- /dev/null +++ b/1985/index.html @@ -0,0 +1,179 @@ + + + + + + + README + + + + +

185 marked the second year of the Obfuscated C Code Contest.

+

Hints against machine dependent code were added to the rules to avoid +another 1984 style winner. Rules and results were posted to net.lang.c +and net.unix-wizards. Larry Bassel was invited to help in the judging. +Awards were given to 5 classes of programs since we were unable to +select only the best 4.

+

Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights +Reserved. Permission for personal, educational or non-profit use is +granted provided this this copyright and notice are included in its +entirety and remains unaltered. All other uses must receive prior +permission in writing from both Landon Curt Noll and Larry Bassel.

+ + diff --git a/1985/lycklama/Makefile b/1985/lycklama/Makefile index c8449115a..8d9e9bf6d 100644 --- a/1985/lycklama/Makefile +++ b/1985/lycklama/Makefile @@ -1,26 +1,592 @@ -# %W% %G% %U% +#!/usr/bin/env make # -# 1985 makefile +# IOCCC 1985 winning entry - lycklama + +################################################################################ # -# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. -# All Rights Reserved. Permission for personal, educational or non-profit -# use is granted provided this this copyright and notice are included in its -# entirety and remains unaltered. All other uses must receive prior permission -# from Landon Curt Noll and Larry Bassel. +# An Historical Makefile NOTE: +# +# The orig.Makefile, if it exits, is the original Makefile before this IOCCC +# year directory was reworked so that entries are in separate directories. +# This also applies to any orig.ansi.mk and orig.common.mk files. +# +# Several Makefiles were modified / formed in 2022, and as such it may have +# elements that are not historically compatible with way entries were built. +# The orig.Makefile, if it exits, is a copy of the pre-modified 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 judgess 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= /bin/sh -WINNERS= lycklama +############################# +# shell used by this Makefile +############################# +# +SHELL= /bin/bash -all: ${WINNERS} +####################### +# common tool locations +####################### +# +A2P= a2p +AR= ar +ASA= asa +AT= at +ATQ= atq +ATRM= atrm +AWK= awk +BANNER= banner +BASE64= base64 +BASENAME= basename +BATCH= batch +BC= bc +BINHEX= binhex +BISON= bison +BUNZIP2= bunzip2 +BZCAT= bzcat +BZCMP= bzcmp +BZDIFF= bzdiff +BZEGREP= bzegrep +BZFGREP= bzfgrep +BZGREP= bzgrep +BZIP2= bzip2 +BZLESS= bzless +BZMORE= bzmore +C2PH= c2ph +C89= c89 +C99= c99 +CAL= cal +CALC= calc +CAT= cat +CD= cd +CHFLAGS= chflags +CHGRP= chgrp +CHMOD= chmod +CKSUM= cksum +CLANG= clang +CLANG_PLUSPLUS= clang++ +CLEAR= clear +CMP= cmp +COL= col +COLLDEF= colldef +COLRM= colrm +COLUMN= column +COMPRESS= compress +CP= cp +CPIO= cpio +CPP= cpp +CRC32= crc32 +CSH= csh +CSPLIT= csplit +CURL= curl +CUT= cut +C_PLUSPLUS= c++ +C_PLUSPLUS_FILT= c++filt +DATE= date +DC= dc +DD= dd +DF= df +DIFF3= diff3 +DIFF= diff +DIG= dig +DIRNAME= dirname +ED= ed +EGREP= egrep +ENV= env +EQN= eqn +ETAGS= etags +EXPECT= expect +EXPR= expr +FALSE= false +FGREP= fgrep +FILE= file +FIND2PERL= find2perl +FIND= find +FLEX= flex +FLEX_PLUSPLUS= flex++ +FMT= fmt +FOLD= fold +FS_USAGE= fs_usage +FUNZIP= funzip +FUSER= fuser +GCC= gcc +GDIFFMK= gdiffmk +GENCAT= gencat +GENSTRINGS= genstrings +GETOPT= getopt +GETOPTS= getopts +GNUMAKE= gnumake +GREP= grep +GROFF= groff +GROFFER= groffer +GROG= grog +GROPS= grops +GROTTY= grotty +GUNZIP= gunzip +GVIM= gvim +GZCAT= gzcat +GZEXE= gzexe +GZIP_PROG= gzip +G_PLUSPLUS= g++ +H2PH= h2ph +H2XS= h2xs +HASH= hash +HEAD= head +HOSTNAME_PROG= hostname +ICONV= iconv +ID= id +INDENT= indent +INFO= info +JOT= jot +KILL= kill +KSH= ksh +LAST= last +LD= ld +LESSECHO= lessecho +LEX= len +LINK= link +LN= ln +LS= ls +M4= m4 +MAKE= make +MAN= man +MKDIR= mkdir +MKFIFo= mkfifo +MKTEMP= mktemp +MV= mv +NANO= nano +NASM= nasm +NEQN= neqn +NICE= nice +NL= nl +NM= nm +NOHUP= nohup +NROFF= nroff +NSLOOKUP= nslookup +OD= od +OPENSSL= openssl +PASTE= paste +PATCH= patch +PATHCHK= pathchk +PAX= pax +PERL= perl +PICO= pico +PR= pr +PRINTENV= printenv +PS= ps +PTAR= ptar +PTARDIFF= ptardiff +PTARGREP= ptargrep +PWD= pwd +PYDOC= pydoc +PYTHON= python +PYTHONW= pythonw +READLINK= readlink +RENICE= renice +RESET= reset +REV= rev +RI= ri +RM= rm +RMDIR= rmdir +RSYNC= rsync +RUBY= ruby +RVIM= rvim +SAY= say +SCP= scp +SCREEN= screen +SCRIPT= script +SDIFF= sdiff +SED= sed +SEQ= seq +SFTP= sftp +SH= sh +SHA1= sha1 +SHA= sha +SHAR= shar +SHASUM5_18= shasum5.18 +SHASUM= shasum +SIZE= size +SLEEP= sleep +SORT= sort +SSH= ssh +STAT= stat +STRIP= strip +STTY= stty +SUM= sum +SYNC= sync +TABS= tabs +TAIL= tail +TAR= tar +TEE= tee +TEST= test +TFTP= tftp +TIDY= tidy +TIME= time +TOP= top +TOUCH= touch +TPUT= tout +TPUT= tput +TR= tr +TROFF= troff +TRUE= true +TSET= tset +TSORT= tsort +UL= ul +UNAME= uname +UNCOMPRESS= uncompress +UNEXPAND= unexpand +UNIFDEF= unifdef +UNIFDEFALL= unifdefall +UNIQ= uniq +UNITS= units +UNLINK= unlink +UNZIP= unzip +UNZIPSFX= unzipsfx +UPTIME= uptime +UUDECODE= uudecode +UUENCODE= uuencode +UUIDGEN= uuidgen +VI= vi +VIEW= view +VIM= vim +VIMDIFF= vimdiff +W= w +WAIT4PATH= wait4path +WAIT= wait +WC= wc +WGET= wget +WHAT= what +WHATIS= whatis +WHICH= which +WHO= who +WHOAMI= whoami +WHOIS= whois +WRTIE= write +XAR= xar +XARGS= xargs +XATTR= xattr +XXD= xxd +YACC= yacc +YES= yes +ZCAT= zcat +ZCMP= zcmp +ZDIFF= zdiff +ZEGREP= zegrep +ZFGREP= zfgrep +ZFORCE= zforce +ZGREP= zgrep +ZIP= zip +ZIPCLOAK= zipcloak +ZIPGREp= zipgrep +ZIPINFo= zipinfo +ZIPNOTE= zipnote +ZIPSPLIT= zipsplit +ZLESS= zless +ZMORE= zmore +ZNEW= znew +ZPRINT= zprint +ZSH= zsh -lycklama: lycklama.c - cc $? -o $@ +# 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 + +# Compiler warnings +# +#CWARN= +#CWARN= -Wall +#CWARN= -Wall -Wextra +#CWARN= -Wall -Wextra ${CSILENCE} +CWARN= -Wall -Wextra -pedantic ${CSILENCE} +#CWARN= -Wall -Wextra -Weverything +#CWARN= -Wall -Wextra -Weverything -pedantic +#CWARN= -Wall -Wextra -Weverything -pedantic ${CSILENCE} + +# Silence warnings that ${CWARN} would normally complain about +# +CSILENCE= -Wno-implicit-int -Wno-unused-value +#CSILENCE= -Wno-implicit-int + +# compiler standard +# +#CSTD= +#CSTD= -ansi +CSTD= -std=gnu89 + +# compiler bit architecture +# +# Some entries require 32-bitness: +# ARCH= -m32 +# +# Some entries require 64-bitness: +# ARCH= -m64 +# +# By default we assume nothing: +# +ARCH= + +# defines that are needed to compile +# +CDEFINE= +#CDEFINE= -DIOCCC=26 + +# include files that are needed to compile +# +CINCLUDE= +#CINCLUDE= -include stdlib.h +#CINCLUDE= -include stdio.h +#CINCLUDE= -include stdlib.h -include stdio.h +#CINCLUDE= -I ${X11_INCDIR} +#CINCLUDE= -I ${HOMEBREW_PREFIX}/include/SDL2 + +# optimization +# +# Most compiles will safely use -O2. Some can use only -O1 or -O. +# A few compilers have broken optimizers or this entry make break +# under those buggy optimizers and thus you may not want anything. +# Reasonable compilers will allow for -O3. +# +#OPT= +#OPT= -O +#OPT= -O1 +#OPT= -O2 +OPT= -O3 + +# default flags for ANSI C compilation +# +CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT} + +# Libraries needed to build +# +LIBS= +#LIBS= -lm +#LIBS= -L ${X11_LIBDIR} -lX11 +#LIBS= -L ${HOMEBREW_PREFIX}/lib -lSDL + +# ANSI compiler +# +# Set CC to the name of your ANSI compiler. +# +# Some entries seem to need gcc. If you have gcc, set +# both CC and MAY_NEED_GCC to gcc. +# +# If you do not have gcc, set CC to the name of your ANSI compiler, and +# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just : +# to disable such programs. +# +CC= cc +#CC=clang +MAY_NEED_GCC= gcc + + +############################## +# Special flags for this entry +############################## +# +ENTRY= lycklama +PROG= ${ENTRY} +# +OBJ= ${PROG}.o +DATA= +TARGET= ${PROG} +# +ALT_OBJ= +ALT_TARGET= + + +################# +# build the entry +################# +# +all: ${DATA} ${TARGET} + @${TRUE} + +.PHONY: alt data everything clean clobber nuke dist_clean \ + install build love haste waste make easter_egg \ + supernova deep_magic magic charon pluto + +${PROG}: ${PROG}.c + @echo "NOTE: This entry uses non-standard args to main() that do not work with modern compilers." + ${CC} ${CFLAGS} $< -o $@ ${LIBS} + +# alternative executable +# +alt: ${DATA} ${ALT_TARGET} + @${TRUE} + +# data files +# +data: ${DATA} + @${TRUE} + + +############### +# utility rules +############### +# +everything: all alt clean: - rm -f core -clobber: clean - rm -f ${WINNERS} + ${RM} -f ${OBJ} ${ALT_OBJ} + @-if [ -f indent.c ]; then \ + ${ECHO} ${RM} -f indent.c; \ + ${RM} -f indent.c; \ + fi -install: all - @echo are you kidding'??' +clobber: clean + ${RM} -f ${TARGET} ${ALT_TARGET} + @-if [ -e sandwich ]; then \ + ${RM} -f sandwich; \ + echo 'ate sandwich'; \ + fi + +nuke: clobber + @${TRUE} + +dist_clean: nuke + @${TRUE} + +install: + @echo "Dr. Spock says that is not logical!" + @${TRUE} + +# you may be able to misunderstand the source by reading indent.c +# +indent.c: ${PROG}.c + @if which "${GINDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${GINDENT} < $< > $@"; \ + ${GINDENT} < $< > $@; \ + elif which "${INDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${INDENT} < $< > $@"; \ + ${INDENT} < $< > $@; \ + else \ + ${ECHO} "no intent tool found, ident $< yourself, sorry"; \ + ${ECHO} "exit 1"; \ + exit 1; \ + fi + + +################## +# 133t hacker rulz +################## +# +love: + @echo 'not war?' + @${TRUE} + +haste: + $(MAKE) waste + @${TRUE} + +waste: + @echo 'haste' + @${TRUE} + +make: + @echo 'Participate in a maker faire' + @${TRUE} + +easter_egg: + @echo you expected to often misunderstand this $${RANDOM} magic + @echo chongo '' "/\\oo/\\" + @echo Eggy + +fabricate fashion form frame manufacture produce: make + @${TRUE} + +sandwich: + @if [ `id -u` -eq 0 ]; then \ + echo 'Okay.'; \ + echo $${RANDOM}`date +%s`$${RANDOM} > $@; \ + else \ + echo 'What? Make it yourself.'; \ + exit 1; \ + fi + +# Understand the history of the Homebrew Computer Club +# as well as the West Coast Computer Faire and +# you might be confused different. :-) +# +supernova: nuke + @-if [ -r .code_anal ]; then \ + ${RM} -f .code_anal_v6; \ + else \ + echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \ + fi + @echo A $@ helps ${MAKE} the elements that help form planets + @${TRUE} + +deep_magic: + @-if [ -r .code_anal ]; then \ + ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + fi + @${TRUE} + +magic: deep_magic + @-if [ -r .code_anal ]; then \ + ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "If you don't eat yer meat, you can't have any pudding!"; \ + echo "How can you have any pudding if you don't eat yer meat?!"; \ + fi + @${TRUE} + +# The IOCCC resident astronomer states +# +charon: supernova + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore IAU, $@ is a planet + +pluto: supernova + ${MAKE} charon + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore, $@ is a planet + @echo get used to having lots of planets because a $< can ${MAKE} a lot of them diff --git a/1985/lycklama/hint.html b/1985/lycklama/hint.html deleted file mode 100644 index a1f7b329d..000000000 --- a/1985/lycklama/hint.html +++ /dev/null @@ -1,16 +0,0 @@ -

The strangest appearing program

- -

Ed Lycklama

- -

Judges' comments:

- -

Run the program without any arguments. Type in some very long lines -and notice how it redisplays it.

- -

The program itself looks like tty noise. Notice that even ‘define’ in #define can be defined.

- -

Copyright © 1985, Landon Curt Noll & Larry Bassel. -All Rights Reserved. Permission for personal, educational or non-profit use is -granted provided this this copyright and notice are included in its entirety -and remains unaltered. All other uses must receive prior permission in writing -from both Landon Curt Noll and Larry Bassel.

diff --git a/1985/lycklama/hint.text b/1985/lycklama/hint.txt similarity index 75% rename from 1985/lycklama/hint.text rename to 1985/lycklama/hint.txt index 459cdd09d..4f393c02d 100644 --- a/1985/lycklama/hint.text +++ b/1985/lycklama/hint.txt @@ -2,6 +2,12 @@ Ed Lycklama +## To build: + + make all + +NOTE: This entry uses non-standard args to main() that do not work with modern compilers. + ## Judges' comments: Run the program without any arguments. Type in some very long lines @@ -9,6 +15,8 @@ and notice how it redisplays it. The program itself looks like tty noise. Notice that even 'define' in #define can be defined. +NOTE: This entry requires a non-standard K&R C compiler to compile. + Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is granted provided this this copyright and notice are included in its entirety diff --git a/1985/lycklama/index.html b/1985/lycklama/index.html new file mode 100644 index 000000000..84c8d00eb --- /dev/null +++ b/1985/lycklama/index.html @@ -0,0 +1,187 @@ + + + + + + + hint + + + + +

The strangest appearing +program

+

Ed Lycklama

+

To build:

+
    make all
+

NOTE: This entry uses non-standard args to main() that do not work +with modern compilers.

+

Judges’ comments:

+

Run the program without any arguments. Type in some very long lines +and notice how it redisplays it.

+

The program itself looks like tty noise. Notice that even ‘define’ in +#define can be defined.

+

NOTE: This entry requires a non-standard K&R C compiler to +compile.

+

Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights +Reserved. Permission for personal, educational or non-profit use is +granted provided this this copyright and notice are included in its +entirety and remains unaltered. All other uses must receive prior +permission in writing from both Landon Curt Noll and Larry Bassel.

+ + diff --git a/1985/lycklama/orig.Makefile b/1985/lycklama/orig.Makefile new file mode 100644 index 000000000..c8449115a --- /dev/null +++ b/1985/lycklama/orig.Makefile @@ -0,0 +1,26 @@ +# %W% %G% %U% +# +# 1985 makefile +# +# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. +# All Rights Reserved. Permission for personal, educational or non-profit +# use is granted provided this this copyright and notice are included in its +# entirety and remains unaltered. All other uses must receive prior permission +# from Landon Curt Noll and Larry Bassel. + + +SHELL= /bin/sh +WINNERS= lycklama + +all: ${WINNERS} + +lycklama: lycklama.c + cc $? -o $@ + +clean: + rm -f core +clobber: clean + rm -f ${WINNERS} + +install: all + @echo are you kidding'??' diff --git a/1985/orig.Makefile b/1985/orig.Makefile new file mode 100644 index 000000000..d6a342dcd --- /dev/null +++ b/1985/orig.Makefile @@ -0,0 +1,72 @@ +#!/usr/bin/env make +# +# 1985 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 +CP= cp +CPP= cpp +GUNZIP= gunzip +LD= ld +MAKE= make +RM= rm +SED= sed +TAR= tar +TRUE= true + +# ANSI compiler +# +# Set CC to the name of your ANSI compiler. +# +CC= cc + + +############### +# IOCCC winners +############### +# +WINNERS= applin august lycklama shapiro sicherman + +################### +# build all entries +################### +# +all: + @for i in ${WINNERS} ; do \ + echo "(cd $$i && $(MAKE) $@)"; \ + (cd $$i && $(MAKE) $@); \ + done + + +############### +# utility rules +############### +# +clean: + @for i in ${WINNERS} ; do \ + echo "(cd $$i && $(MAKE) $@)"; \ + (cd $$i && $(MAKE) $@); \ + done + +clobber: + @for i in ${WINNERS} ; do \ + echo "(cd $$i && $(MAKE) $@)"; \ + (cd $$i && $(MAKE) $@); \ + done + +install: + @for i in ${WINNERS} ; do \ + echo "(cd $$i && $(MAKE) $@)"; \ + (cd $$i && $(MAKE) $@); \ + done diff --git a/1985/shapiro/Makefile b/1985/shapiro/Makefile index ce7ede796..628ec8de1 100644 --- a/1985/shapiro/Makefile +++ b/1985/shapiro/Makefile @@ -1,26 +1,592 @@ -# %W% %G% %U% +#!/usr/bin/env make # -# 1985 makefile +# IOCCC 1985 winning entry - shapiro + +################################################################################ # -# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. -# All Rights Reserved. Permission for personal, educational or non-profit -# use is granted provided this this copyright and notice are included in its -# entirety and remains unaltered. All other uses must receive prior permission -# from Landon Curt Noll and Larry Bassel. +# An Historical Makefile NOTE: +# +# The orig.Makefile, if it exits, is the original Makefile before this IOCCC +# year directory was reworked so that entries are in separate directories. +# This also applies to any orig.ansi.mk and orig.common.mk files. +# +# Several Makefiles were modified / formed in 2022, and as such it may have +# elements that are not historically compatible with way entries were built. +# The orig.Makefile, if it exits, is a copy of the pre-modified 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 judgess 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= /bin/sh -WINNERS= shapiro +############################# +# shell used by this Makefile +############################# +# +SHELL= /bin/bash -all: ${WINNERS} +####################### +# common tool locations +####################### +# +A2P= a2p +AR= ar +ASA= asa +AT= at +ATQ= atq +ATRM= atrm +AWK= awk +BANNER= banner +BASE64= base64 +BASENAME= basename +BATCH= batch +BC= bc +BINHEX= binhex +BISON= bison +BUNZIP2= bunzip2 +BZCAT= bzcat +BZCMP= bzcmp +BZDIFF= bzdiff +BZEGREP= bzegrep +BZFGREP= bzfgrep +BZGREP= bzgrep +BZIP2= bzip2 +BZLESS= bzless +BZMORE= bzmore +C2PH= c2ph +C89= c89 +C99= c99 +CAL= cal +CALC= calc +CAT= cat +CD= cd +CHFLAGS= chflags +CHGRP= chgrp +CHMOD= chmod +CKSUM= cksum +CLANG= clang +CLANG_PLUSPLUS= clang++ +CLEAR= clear +CMP= cmp +COL= col +COLLDEF= colldef +COLRM= colrm +COLUMN= column +COMPRESS= compress +CP= cp +CPIO= cpio +CPP= cpp +CRC32= crc32 +CSH= csh +CSPLIT= csplit +CURL= curl +CUT= cut +C_PLUSPLUS= c++ +C_PLUSPLUS_FILT= c++filt +DATE= date +DC= dc +DD= dd +DF= df +DIFF3= diff3 +DIFF= diff +DIG= dig +DIRNAME= dirname +ED= ed +EGREP= egrep +ENV= env +EQN= eqn +ETAGS= etags +EXPECT= expect +EXPR= expr +FALSE= false +FGREP= fgrep +FILE= file +FIND2PERL= find2perl +FIND= find +FLEX= flex +FLEX_PLUSPLUS= flex++ +FMT= fmt +FOLD= fold +FS_USAGE= fs_usage +FUNZIP= funzip +FUSER= fuser +GCC= gcc +GDIFFMK= gdiffmk +GENCAT= gencat +GENSTRINGS= genstrings +GETOPT= getopt +GETOPTS= getopts +GNUMAKE= gnumake +GREP= grep +GROFF= groff +GROFFER= groffer +GROG= grog +GROPS= grops +GROTTY= grotty +GUNZIP= gunzip +GVIM= gvim +GZCAT= gzcat +GZEXE= gzexe +GZIP_PROG= gzip +G_PLUSPLUS= g++ +H2PH= h2ph +H2XS= h2xs +HASH= hash +HEAD= head +HOSTNAME_PROG= hostname +ICONV= iconv +ID= id +INDENT= indent +INFO= info +JOT= jot +KILL= kill +KSH= ksh +LAST= last +LD= ld +LESSECHO= lessecho +LEX= len +LINK= link +LN= ln +LS= ls +M4= m4 +MAKE= make +MAN= man +MKDIR= mkdir +MKFIFo= mkfifo +MKTEMP= mktemp +MV= mv +NANO= nano +NASM= nasm +NEQN= neqn +NICE= nice +NL= nl +NM= nm +NOHUP= nohup +NROFF= nroff +NSLOOKUP= nslookup +OD= od +OPENSSL= openssl +PASTE= paste +PATCH= patch +PATHCHK= pathchk +PAX= pax +PERL= perl +PICO= pico +PR= pr +PRINTENV= printenv +PS= ps +PTAR= ptar +PTARDIFF= ptardiff +PTARGREP= ptargrep +PWD= pwd +PYDOC= pydoc +PYTHON= python +PYTHONW= pythonw +READLINK= readlink +RENICE= renice +RESET= reset +REV= rev +RI= ri +RM= rm +RMDIR= rmdir +RSYNC= rsync +RUBY= ruby +RVIM= rvim +SAY= say +SCP= scp +SCREEN= screen +SCRIPT= script +SDIFF= sdiff +SED= sed +SEQ= seq +SFTP= sftp +SH= sh +SHA1= sha1 +SHA= sha +SHAR= shar +SHASUM5_18= shasum5.18 +SHASUM= shasum +SIZE= size +SLEEP= sleep +SORT= sort +SSH= ssh +STAT= stat +STRIP= strip +STTY= stty +SUM= sum +SYNC= sync +TABS= tabs +TAIL= tail +TAR= tar +TEE= tee +TEST= test +TFTP= tftp +TIDY= tidy +TIME= time +TOP= top +TOUCH= touch +TPUT= tout +TPUT= tput +TR= tr +TROFF= troff +TRUE= true +TSET= tset +TSORT= tsort +UL= ul +UNAME= uname +UNCOMPRESS= uncompress +UNEXPAND= unexpand +UNIFDEF= unifdef +UNIFDEFALL= unifdefall +UNIQ= uniq +UNITS= units +UNLINK= unlink +UNZIP= unzip +UNZIPSFX= unzipsfx +UPTIME= uptime +UUDECODE= uudecode +UUENCODE= uuencode +UUIDGEN= uuidgen +VI= vi +VIEW= view +VIM= vim +VIMDIFF= vimdiff +W= w +WAIT4PATH= wait4path +WAIT= wait +WC= wc +WGET= wget +WHAT= what +WHATIS= whatis +WHICH= which +WHO= who +WHOAMI= whoami +WHOIS= whois +WRTIE= write +XAR= xar +XARGS= xargs +XATTR= xattr +XXD= xxd +YACC= yacc +YES= yes +ZCAT= zcat +ZCMP= zcmp +ZDIFF= zdiff +ZEGREP= zegrep +ZFGREP= zfgrep +ZFORCE= zforce +ZGREP= zgrep +ZIP= zip +ZIPCLOAK= zipcloak +ZIPGREp= zipgrep +ZIPINFo= zipinfo +ZIPNOTE= zipnote +ZIPSPLIT= zipsplit +ZLESS= zless +ZMORE= zmore +ZNEW= znew +ZPRINT= zprint +ZSH= zsh -shaprio: shaprio.c - cc $? -o $@ +# 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 + +# Compiler warnings +# +#CWARN= +#CWARN= -Wall +#CWARN= -Wall -Wextra +#CWARN= -Wall -Wextra ${CSILENCE} +CWARN= -Wall -Wextra -pedantic ${CSILENCE} +#CWARN= -Wall -Wextra -Weverything +#CWARN= -Wall -Wextra -Weverything -pedantic +#CWARN= -Wall -Wextra -Weverything -pedantic ${CSILENCE} + +# Silence warnings that ${CWARN} would normally complain about +# +CSILENCE= -Wno-error -Wno-implicit-function-declaration -Wno-implicit-int \ + -Wno-parentheses -Wno-string-plus-int +#CSILENCE= -Wno-implicit-int + +# compiler standard +# +#CSTD= +#CSTD= -ansi +CSTD= -std=gnu89 + +# compiler bit architecture +# +# Some entries require 32-bitness: +# ARCH= -m32 +# +# Some entries require 64-bitness: +# ARCH= -m64 +# +# By default we assume nothing: +# +ARCH= + +# defines that are needed to compile +# +CDEFINE= +#CDEFINE= -DIOCCC=26 + +# include files that are needed to compile +# +CINCLUDE= +#CINCLUDE= -include stdlib.h +#CINCLUDE= -include stdio.h +#CINCLUDE= -include stdlib.h -include stdio.h +#CINCLUDE= -I ${X11_INCDIR} +#CINCLUDE= -I ${HOMEBREW_PREFIX}/include/SDL2 + +# optimization +# +# Most compiles will safely use -O2. Some can use only -O1 or -O. +# A few compilers have broken optimizers or this entry make break +# under those buggy optimizers and thus you may not want anything. +# Reasonable compilers will allow for -O3. +# +#OPT= +#OPT= -O +#OPT= -O1 +#OPT= -O2 +OPT= -O3 + +# default flags for ANSI C compilation +# +CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT} + +# Libraries needed to build +# +LIBS= +#LIBS= -lm +#LIBS= -L ${X11_LIBDIR} -lX11 +#LIBS= -L ${HOMEBREW_PREFIX}/lib -lSDL + +# ANSI compiler +# +# Set CC to the name of your ANSI compiler. +# +# Some entries seem to need gcc. If you have gcc, set +# both CC and MAY_NEED_GCC to gcc. +# +# If you do not have gcc, set CC to the name of your ANSI compiler, and +# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just : +# to disable such programs. +# +CC= cc +#CC=clang +MAY_NEED_GCC= gcc + + +############################## +# Special flags for this entry +############################## +# +ENTRY= shapiro +PROG= ${ENTRY} +# +OBJ= ${PROG}.o +DATA= +TARGET= ${PROG} +# +ALT_OBJ= +ALT_TARGET= + + +################# +# build the entry +################# +# +all: ${DATA} ${TARGET} + @${TRUE} + +.PHONY: alt data everything clean clobber nuke dist_clean \ + install build love haste waste make easter_egg \ + supernova deep_magic magic charon pluto + +${PROG}: ${PROG}.c + ${CC} ${CFLAGS} $< -o $@ ${LIBS} + +# alternative executable +# +alt: ${DATA} ${ALT_TARGET} + @${TRUE} + +# data files +# +data: ${DATA} + @${TRUE} + + +############### +# utility rules +############### +# +everything: all alt clean: - rm -f core -clobber: clean - rm -f ${WINNERS} + ${RM} -f ${OBJ} ${ALT_OBJ} + @-if [ -f indent.c ]; then \ + ${ECHO} ${RM} -f indent.c; \ + ${RM} -f indent.c; \ + fi -install: all - @echo are you kidding'??' +clobber: clean + ${RM} -f ${TARGET} ${ALT_TARGET} + @-if [ -e sandwich ]; then \ + ${RM} -f sandwich; \ + echo 'ate sandwich'; \ + fi + +nuke: clobber + @${TRUE} + +dist_clean: nuke + @${TRUE} + +install: + @echo "Dr. Spock says that is not logical!" + @${TRUE} + +# you may be able to misunderstand the source by reading indent.c +# +indent.c: ${PROG}.c + @if which "${GINDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${GINDENT} < $< > $@"; \ + ${GINDENT} < $< > $@; \ + elif which "${INDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${INDENT} < $< > $@"; \ + ${INDENT} < $< > $@; \ + else \ + ${ECHO} "no intent tool found, ident $< yourself, sorry"; \ + ${ECHO} "exit 1"; \ + exit 1; \ + fi + + +################## +# 133t hacker rulz +################## +# +love: + @echo 'not war?' + @${TRUE} + +haste: + $(MAKE) waste + @${TRUE} + +waste: + @echo 'haste' + @${TRUE} + +make: + @echo 'Participate in a maker faire' + @${TRUE} + +easter_egg: + @echo you expected to often misunderstand this $${RANDOM} magic + @echo chongo '' "/\\oo/\\" + @echo Eggy + +fabricate fashion form frame manufacture produce: make + @${TRUE} + +sandwich: + @if [ `id -u` -eq 0 ]; then \ + echo 'Okay.'; \ + echo $${RANDOM}`date +%s`$${RANDOM} > $@; \ + else \ + echo 'What? Make it yourself.'; \ + exit 1; \ + fi + +# Understand the history of the Homebrew Computer Club +# as well as the West Coast Computer Faire and +# you might be confused different. :-) +# +supernova: nuke + @-if [ -r .code_anal ]; then \ + ${RM} -f .code_anal_v6; \ + else \ + echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \ + fi + @echo A $@ helps ${MAKE} the elements that help form planets + @${TRUE} + +deep_magic: + @-if [ -r .code_anal ]; then \ + ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + fi + @${TRUE} + +magic: deep_magic + @-if [ -r .code_anal ]; then \ + ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "If you don't eat yer meat, you can't have any pudding!"; \ + echo "How can you have any pudding if you don't eat yer meat?!"; \ + fi + @${TRUE} + +# The IOCCC resident astronomer states +# +charon: supernova + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore IAU, $@ is a planet + +pluto: supernova + ${MAKE} charon + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore, $@ is a planet + @echo get used to having lots of planets because a $< can ${MAKE} a lot of them diff --git a/1985/shapiro/hint.html b/1985/shapiro/hint.html deleted file mode 100644 index ecd26c1f2..000000000 --- a/1985/shapiro/hint.html +++ /dev/null @@ -1,20 +0,0 @@ -

Grand prize for most well-rounded in confusion

- -

Carl Shapiro

- -

Judges' comments:

- -

As submitted, this program was 3 lines (2 of defines and 1 of code). -To make news & mail happy we split the last line into 7. Join them -back without the newlines to get the original version.

- -

This program was selected for the 1987 t-shirt collection.

- -

We found this program is be simply amazeing! Run this program without -arguments and notice the output.

- -

Copyright © 1985, Landon Curt Noll & Larry Bassel. -All Rights Reserved. Permission for personal, educational or non-profit use is -granted provided this this copyright and notice are included in its entirety -and remains unaltered. All other uses must receive prior permission in writing -from both Landon Curt Noll and Larry Bassel.

diff --git a/1985/shapiro/hint.text b/1985/shapiro/hint.txt similarity index 96% rename from 1985/shapiro/hint.text rename to 1985/shapiro/hint.txt index 27e7fa750..eeaeafb2a 100644 --- a/1985/shapiro/hint.text +++ b/1985/shapiro/hint.txt @@ -2,6 +2,10 @@ Carl Shapiro +## To build: + + make all + ## Judges' comments: As submitted, this program was 3 lines (2 of defines and 1 of code). diff --git a/1985/shapiro/index.html b/1985/shapiro/index.html new file mode 100644 index 000000000..98243b829 --- /dev/null +++ b/1985/shapiro/index.html @@ -0,0 +1,185 @@ + + + + + + + hint + + + + +

Grand prize for +most well-rounded in confusion

+

Carl Shapiro

+

To build:

+
    make all
+

Judges’ comments:

+

As submitted, this program was 3 lines (2 of defines and 1 of code). +To make news & mail happy we split the last line into 7. Join them +back without the newlines to get the original version.

+

This program was selected for the 1987 t-shirt collection.

+

We found this program is be simply amazeing! Run +this program without arguments and notice the output.

+

Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights +Reserved. Permission for personal, educational or non-profit use is +granted provided this this copyright and notice are included in its +entirety and remains unaltered. All other uses must receive prior +permission in writing from both Landon Curt Noll and Larry Bassel.

+ + diff --git a/1985/shapiro/orig.Makefile b/1985/shapiro/orig.Makefile new file mode 100644 index 000000000..ce7ede796 --- /dev/null +++ b/1985/shapiro/orig.Makefile @@ -0,0 +1,26 @@ +# %W% %G% %U% +# +# 1985 makefile +# +# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. +# All Rights Reserved. Permission for personal, educational or non-profit +# use is granted provided this this copyright and notice are included in its +# entirety and remains unaltered. All other uses must receive prior permission +# from Landon Curt Noll and Larry Bassel. + + +SHELL= /bin/sh +WINNERS= shapiro + +all: ${WINNERS} + +shaprio: shaprio.c + cc $? -o $@ + +clean: + rm -f core +clobber: clean + rm -f ${WINNERS} + +install: all + @echo are you kidding'??' diff --git a/1985/sicherman/Makefile b/1985/sicherman/Makefile index a4a4eab16..4d481d579 100644 --- a/1985/sicherman/Makefile +++ b/1985/sicherman/Makefile @@ -1,26 +1,592 @@ -# %W% %G% %U% +#!/usr/bin/env make # -# 1985 makefile +# IOCCC 1985 winning entry - sicherman + +################################################################################ # -# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. -# All Rights Reserved. Permission for personal, educational or non-profit -# use is granted provided this this copyright and notice are included in its -# entirety and remains unaltered. All other uses must receive prior permission -# from Landon Curt Noll and Larry Bassel. +# An Historical Makefile NOTE: +# +# The orig.Makefile, if it exits, is the original Makefile before this IOCCC +# year directory was reworked so that entries are in separate directories. +# This also applies to any orig.ansi.mk and orig.common.mk files. +# +# Several Makefiles were modified / formed in 2022, and as such it may have +# elements that are not historically compatible with way entries were built. +# The orig.Makefile, if it exits, is a copy of the pre-modified 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 judgess 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= /bin/sh -WINNERS= sicherman +############################# +# shell used by this Makefile +############################# +# +SHELL= /bin/bash -all: ${WINNERS} +####################### +# common tool locations +####################### +# +A2P= a2p +AR= ar +ASA= asa +AT= at +ATQ= atq +ATRM= atrm +AWK= awk +BANNER= banner +BASE64= base64 +BASENAME= basename +BATCH= batch +BC= bc +BINHEX= binhex +BISON= bison +BUNZIP2= bunzip2 +BZCAT= bzcat +BZCMP= bzcmp +BZDIFF= bzdiff +BZEGREP= bzegrep +BZFGREP= bzfgrep +BZGREP= bzgrep +BZIP2= bzip2 +BZLESS= bzless +BZMORE= bzmore +C2PH= c2ph +C89= c89 +C99= c99 +CAL= cal +CALC= calc +CAT= cat +CD= cd +CHFLAGS= chflags +CHGRP= chgrp +CHMOD= chmod +CKSUM= cksum +CLANG= clang +CLANG_PLUSPLUS= clang++ +CLEAR= clear +CMP= cmp +COL= col +COLLDEF= colldef +COLRM= colrm +COLUMN= column +COMPRESS= compress +CP= cp +CPIO= cpio +CPP= cpp +CRC32= crc32 +CSH= csh +CSPLIT= csplit +CURL= curl +CUT= cut +C_PLUSPLUS= c++ +C_PLUSPLUS_FILT= c++filt +DATE= date +DC= dc +DD= dd +DF= df +DIFF3= diff3 +DIFF= diff +DIG= dig +DIRNAME= dirname +ED= ed +EGREP= egrep +ENV= env +EQN= eqn +ETAGS= etags +EXPECT= expect +EXPR= expr +FALSE= false +FGREP= fgrep +FILE= file +FIND2PERL= find2perl +FIND= find +FLEX= flex +FLEX_PLUSPLUS= flex++ +FMT= fmt +FOLD= fold +FS_USAGE= fs_usage +FUNZIP= funzip +FUSER= fuser +GCC= gcc +GDIFFMK= gdiffmk +GENCAT= gencat +GENSTRINGS= genstrings +GETOPT= getopt +GETOPTS= getopts +GNUMAKE= gnumake +GREP= grep +GROFF= groff +GROFFER= groffer +GROG= grog +GROPS= grops +GROTTY= grotty +GUNZIP= gunzip +GVIM= gvim +GZCAT= gzcat +GZEXE= gzexe +GZIP_PROG= gzip +G_PLUSPLUS= g++ +H2PH= h2ph +H2XS= h2xs +HASH= hash +HEAD= head +HOSTNAME_PROG= hostname +ICONV= iconv +ID= id +INDENT= indent +INFO= info +JOT= jot +KILL= kill +KSH= ksh +LAST= last +LD= ld +LESSECHO= lessecho +LEX= len +LINK= link +LN= ln +LS= ls +M4= m4 +MAKE= make +MAN= man +MKDIR= mkdir +MKFIFo= mkfifo +MKTEMP= mktemp +MV= mv +NANO= nano +NASM= nasm +NEQN= neqn +NICE= nice +NL= nl +NM= nm +NOHUP= nohup +NROFF= nroff +NSLOOKUP= nslookup +OD= od +OPENSSL= openssl +PASTE= paste +PATCH= patch +PATHCHK= pathchk +PAX= pax +PERL= perl +PICO= pico +PR= pr +PRINTENV= printenv +PS= ps +PTAR= ptar +PTARDIFF= ptardiff +PTARGREP= ptargrep +PWD= pwd +PYDOC= pydoc +PYTHON= python +PYTHONW= pythonw +READLINK= readlink +RENICE= renice +RESET= reset +REV= rev +RI= ri +RM= rm +RMDIR= rmdir +RSYNC= rsync +RUBY= ruby +RVIM= rvim +SAY= say +SCP= scp +SCREEN= screen +SCRIPT= script +SDIFF= sdiff +SED= sed +SEQ= seq +SFTP= sftp +SH= sh +SHA1= sha1 +SHA= sha +SHAR= shar +SHASUM5_18= shasum5.18 +SHASUM= shasum +SIZE= size +SLEEP= sleep +SORT= sort +SSH= ssh +STAT= stat +STRIP= strip +STTY= stty +SUM= sum +SYNC= sync +TABS= tabs +TAIL= tail +TAR= tar +TEE= tee +TEST= test +TFTP= tftp +TIDY= tidy +TIME= time +TOP= top +TOUCH= touch +TPUT= tout +TPUT= tput +TR= tr +TROFF= troff +TRUE= true +TSET= tset +TSORT= tsort +UL= ul +UNAME= uname +UNCOMPRESS= uncompress +UNEXPAND= unexpand +UNIFDEF= unifdef +UNIFDEFALL= unifdefall +UNIQ= uniq +UNITS= units +UNLINK= unlink +UNZIP= unzip +UNZIPSFX= unzipsfx +UPTIME= uptime +UUDECODE= uudecode +UUENCODE= uuencode +UUIDGEN= uuidgen +VI= vi +VIEW= view +VIM= vim +VIMDIFF= vimdiff +W= w +WAIT4PATH= wait4path +WAIT= wait +WC= wc +WGET= wget +WHAT= what +WHATIS= whatis +WHICH= which +WHO= who +WHOAMI= whoami +WHOIS= whois +WRTIE= write +XAR= xar +XARGS= xargs +XATTR= xattr +XXD= xxd +YACC= yacc +YES= yes +ZCAT= zcat +ZCMP= zcmp +ZDIFF= zdiff +ZEGREP= zegrep +ZFGREP= zfgrep +ZFORCE= zforce +ZGREP= zgrep +ZIP= zip +ZIPCLOAK= zipcloak +ZIPGREp= zipgrep +ZIPINFo= zipinfo +ZIPNOTE= zipnote +ZIPSPLIT= zipsplit +ZLESS= zless +ZMORE= zmore +ZNEW= znew +ZPRINT= zprint +ZSH= zsh -scherman: sicherman.c - cc $? -o $@ +# 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 + +# Compiler warnings +# +#CWARN= +#CWARN= -Wall +#CWARN= -Wall -Wextra +#CWARN= -Wall -Wextra ${CSILENCE} +CWARN= -Wall -Wextra -pedantic ${CSILENCE} +#CWARN= -Wall -Wextra -Weverything +#CWARN= -Wall -Wextra -Weverything -pedantic +#CWARN= -Wall -Wextra -Weverything -pedantic ${CSILENCE} + +# Silence warnings that ${CWARN} would normally complain about +# +CSILENCE= -Wno-comment +#CSILENCE= -Wno-implicit-int + +# compiler standard +# +#CSTD= +#CSTD= -ansi +CSTD= -std=gnu89 + +# compiler bit architecture +# +# Some entries require 32-bitness: +# ARCH= -m32 +# +# Some entries require 64-bitness: +# ARCH= -m64 +# +# By default we assume nothing: +# +ARCH= + +# defines that are needed to compile +# +CDEFINE= +#CDEFINE= -DIOCCC=26 + +# include files that are needed to compile +# +CINCLUDE= +#CINCLUDE= -include stdlib.h +#CINCLUDE= -include stdio.h +#CINCLUDE= -include stdlib.h -include stdio.h +#CINCLUDE= -I ${X11_INCDIR} +#CINCLUDE= -I ${HOMEBREW_PREFIX}/include/SDL2 + +# optimization +# +# Most compiles will safely use -O2. Some can use only -O1 or -O. +# A few compilers have broken optimizers or this entry make break +# under those buggy optimizers and thus you may not want anything. +# Reasonable compilers will allow for -O3. +# +#OPT= +#OPT= -O +#OPT= -O1 +#OPT= -O2 +OPT= -O3 + +# default flags for ANSI C compilation +# +CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT} + +# Libraries needed to build +# +LIBS= +#LIBS= -lm +#LIBS= -L ${X11_LIBDIR} -lX11 +#LIBS= -L ${HOMEBREW_PREFIX}/lib -lSDL + +# ANSI compiler +# +# Set CC to the name of your ANSI compiler. +# +# Some entries seem to need gcc. If you have gcc, set +# both CC and MAY_NEED_GCC to gcc. +# +# If you do not have gcc, set CC to the name of your ANSI compiler, and +# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just : +# to disable such programs. +# +CC= cc +#CC=clang +MAY_NEED_GCC= gcc + + +############################## +# Special flags for this entry +############################## +# +ENTRY= sicherman +PROG= ${ENTRY} +# +OBJ= ${PROG}.o +DATA= +TARGET= ${PROG} +# +ALT_OBJ= +ALT_TARGET= + + +################# +# build the entry +################# +# +all: ${DATA} ${TARGET} + @${TRUE} + +.PHONY: alt data everything clean clobber nuke dist_clean \ + install build love haste waste make easter_egg \ + supernova deep_magic magic charon pluto + +${PROG}: ${PROG}.c + @echo "NOTE: This entry requires a non-standard K&R C compiler to compile." + ${CC} ${CFLAGS} $< -o $@ ${LIBS} + +# alternative executable +# +alt: ${DATA} ${ALT_TARGET} + @${TRUE} + +# data files +# +data: ${DATA} + @${TRUE} + + +############### +# utility rules +############### +# +everything: all alt clean: - rm -f core -clobber: clean - rm -f ${WINNERS} + ${RM} -f ${OBJ} ${ALT_OBJ} + @-if [ -f indent.c ]; then \ + ${ECHO} ${RM} -f indent.c; \ + ${RM} -f indent.c; \ + fi -install: all - @echo are you kidding'??' +clobber: clean + ${RM} -f ${TARGET} ${ALT_TARGET} + @-if [ -e sandwich ]; then \ + ${RM} -f sandwich; \ + echo 'ate sandwich'; \ + fi + +nuke: clobber + @${TRUE} + +dist_clean: nuke + @${TRUE} + +install: + @echo "Dr. Spock says that is not logical!" + @${TRUE} + +# you may be able to misunderstand the source by reading indent.c +# +indent.c: ${PROG}.c + @if which "${GINDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${GINDENT} < $< > $@"; \ + ${GINDENT} < $< > $@; \ + elif which "${INDENT}" >/dev/null 2>&1; then \ + ${ECHO} ${RM} -f $@; \ + ${RM} -f $@; \ + ${ECHO} "${INDENT} < $< > $@"; \ + ${INDENT} < $< > $@; \ + else \ + ${ECHO} "no intent tool found, ident $< yourself, sorry"; \ + ${ECHO} "exit 1"; \ + exit 1; \ + fi + + +################## +# 133t hacker rulz +################## +# +love: + @echo 'not war?' + @${TRUE} + +haste: + $(MAKE) waste + @${TRUE} + +waste: + @echo 'haste' + @${TRUE} + +make: + @echo 'Participate in a maker faire' + @${TRUE} + +easter_egg: + @echo you expected to often misunderstand this $${RANDOM} magic + @echo chongo '' "/\\oo/\\" + @echo Eggy + +fabricate fashion form frame manufacture produce: make + @${TRUE} + +sandwich: + @if [ `id -u` -eq 0 ]; then \ + echo 'Okay.'; \ + echo $${RANDOM}`date +%s`$${RANDOM} > $@; \ + else \ + echo 'What? Make it yourself.'; \ + exit 1; \ + fi + +# Understand the history of the Homebrew Computer Club +# as well as the West Coast Computer Faire and +# you might be confused different. :-) +# +supernova: nuke + @-if [ -r .code_anal ]; then \ + ${RM} -f .code_anal_v6; \ + else \ + echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \ + fi + @echo A $@ helps ${MAKE} the elements that help form planets + @${TRUE} + +deep_magic: + @-if [ -r .code_anal ]; then \ + ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + sleep 2; \ + echo "Wrong! Do it again!"; \ + fi + @${TRUE} + +magic: deep_magic + @-if [ -r .code_anal ]; then \ + ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \ + else \ + echo "If you don't eat yer meat, you can't have any pudding!"; \ + echo "How can you have any pudding if you don't eat yer meat?!"; \ + fi + @${TRUE} + +# The IOCCC resident astronomer states +# +charon: supernova + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore IAU, $@ is a planet + +pluto: supernova + ${MAKE} charon + @echo $@ is a dwarf planet + @echo dwarf is a type of planet + @echo therefore, $@ is a planet + @echo get used to having lots of planets because a $< can ${MAKE} a lot of them diff --git a/1985/sicherman/hint.html b/1985/sicherman/hint.html deleted file mode 100644 index b385116a8..000000000 --- a/1985/sicherman/hint.html +++ /dev/null @@ -1,30 +0,0 @@ -

The worst abuse of the C preprocessor

- -

Col. G. L. Sicherman

- -

Judges' comments:

- -

This program abuses the C preprocessor so much that some /lib/cpp’s fail to -strip out all of the comments on the first pass! If you were able to -understand Decot’s entry in 1984, you will have a head start on this -one.

- -

Be sure to run this program through lint! If your lint works -correctly, it should warn you that the argument ‘Manual’ isn’t used. -Like the program says, what’s that mean?

- -

Run the program without arguments and enter the letters ‘a’ thru ’m' -on a line. Now enter the letters ‘n’ thru ‘z’. But to borrow a quote -from Richard Stallman: If you think you understand what this code -does, then you don’t, so read it again! Explain why:

- -
sicherman < sicherman.c | sicherman | diff - sicherman.c
-
- -

results in diff reporting a difference on some machines.

- -

Copyright © 1985, Landon Curt Noll & Larry Bassel. -All Rights Reserved. Permission for personal, educational or non-profit use is -granted provided this this copyright and notice are included in its entirety -and remains unaltered. All other uses must receive prior permission in writing -from both Landon Curt Noll and Larry Bassel.

diff --git a/1985/sicherman/hint.text b/1985/sicherman/hint.txt similarity index 80% rename from 1985/sicherman/hint.text rename to 1985/sicherman/hint.txt index d468db5f1..63ce40ead 100644 --- a/1985/sicherman/hint.text +++ b/1985/sicherman/hint.txt @@ -2,6 +2,14 @@ Col. G. L. Sicherman +## To build: + + make all + +NOTE: This entry uses non-standard args to main() that do not work with modern compilers. + +NOTE: This entry uses non-standard args to main() that do not work with modern compilers. + ## Judges' comments: This program abuses the C preprocessor so much that some /lib/cpp's fail to @@ -22,6 +30,8 @@ does, then you don't, so read it again! Explain why: results in diff reporting a difference on some machines. +NOTE: This entry requires a non-standard K&R C compiler to compile. + Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights Reserved. Permission for personal, educational or non-profit use is granted provided this this copyright and notice are included in its entirety diff --git a/1985/sicherman/index.html b/1985/sicherman/index.html new file mode 100644 index 000000000..86bf21c00 --- /dev/null +++ b/1985/sicherman/index.html @@ -0,0 +1,198 @@ + + + + + + + hint + + + + +

The worst abuse of the C +preprocessor

+

Col. G. L. Sicherman

+

To build:

+
    make all
+

NOTE: This entry uses non-standard args to main() that do not work +with modern compilers.

+

NOTE: This entry uses non-standard args to main() that do not work +with modern compilers.

+

Judges’ comments:

+

This program abuses the C preprocessor so much that some /lib/cpp’s +fail to strip out all of the comments on the first pass! If you were +able to understand Decot’s entry in 1984, you will have a head start on +this one.

+

Be sure to run this program through lint! If your lint works +correctly, it should warn you that the argument ‘Manual’ isn’t used. +Like the program says, what’s that mean?

+

Run the program without arguments and enter the letters ‘a’ thru ‘m’ +on a line. Now enter the letters ‘n’ thru ‘z’. But to borrow a quote +from Richard Stallman: If you think you understand what this code does, +then you don’t, so read it again! Explain why:

+
sicherman < sicherman.c | sicherman | diff - sicherman.c
+

results in diff reporting a difference on some machines.

+

NOTE: This entry requires a non-standard K&R C compiler to +compile.

+

Copyright (c) 1985, Landon Curt Noll & Larry Bassel. All Rights +Reserved. Permission for personal, educational or non-profit use is +granted provided this this copyright and notice are included in its +entirety and remains unaltered. All other uses must receive prior +permission in writing from both Landon Curt Noll and Larry Bassel.

+ + diff --git a/1985/sicherman/orig.Makefile b/1985/sicherman/orig.Makefile new file mode 100644 index 000000000..a4a4eab16 --- /dev/null +++ b/1985/sicherman/orig.Makefile @@ -0,0 +1,26 @@ +# %W% %G% %U% +# +# 1985 makefile +# +# Copyright (c) 1985, Landon Curt Noll & Larry Bassel. +# All Rights Reserved. Permission for personal, educational or non-profit +# use is granted provided this this copyright and notice are included in its +# entirety and remains unaltered. All other uses must receive prior permission +# from Landon Curt Noll and Larry Bassel. + + +SHELL= /bin/sh +WINNERS= sicherman + +all: ${WINNERS} + +scherman: sicherman.c + cc $? -o $@ + +clean: + rm -f core +clobber: clean + rm -f ${WINNERS} + +install: all + @echo are you kidding'??' diff --git a/years-spoiler.html b/years-spoiler.html index 80016ed17..4628c7020 100644 --- a/years-spoiler.html +++ b/years-spoiler.html @@ -3625,55 +3625,62 @@ that works for both traditional K&R and ANSI C preprocessors.

2nd International Obfuscated C Code Contest (1985)

applin - one-liner to print hello world, with execlp

august - cpp obfuscated, compressed, main-recursive primes in binary

lycklama - heavily cpped with o_oo identifiers, scrolls text right

shapiro - two defines, one 7-liner, results in a maze

sicherman - rot13 with strange #defs that create comment headers etc.


1st International Obfuscated C Code Contest (1984)

diff --git a/years.html b/years.html index 48a9eff5b..bd8a9b7d1 100644 --- a/years.html +++ b/years.html @@ -3608,55 +3608,62 @@ a summary description of all of the winners.


2nd International Obfuscated C Code Contest (1985)

applin

august

lycklama

shapiro

sicherman


1st International Obfuscated C Code Contest (1984)