diff --git a/1992/ant/README.md b/1992/ant/README.md index ade2667ad..e89334ba4 100644 --- a/1992/ant/README.md +++ b/1992/ant/README.md @@ -9,24 +9,18 @@ make all ```sh ./ant Makefile + +./ant Makefile rule ``` -where `Makefile` is a Makefile to use. +where `Makefile` is a Makefile to use and `rule` is an optional rule to use. ### Try: -First build the tool itself with our Makefile: ```sh -./ant Makefile am -``` - -Now use `am` to do some things: - -```sh -./am Makefile am_clobber # clobber everything except am -./am ant.test.mk # run the test Makefile with am +./try.sh ``` diff --git a/1992/ant/ant.test.mk b/1992/ant/ant.test.mk index 6004c4fae..987b232ac 100644 --- a/1992/ant/ant.test.mk +++ b/1992/ant/ant.test.mk @@ -57,7 +57,7 @@ TEXT_2 = test macro split \ three lines TEXT_3 = test dollar macro '$$' TEXT_4 = test dollar again "$$(TEXT_1)" -TEXT_5 = imbeded macro '$(TEXT_1)' +TEXT_5 = embedded macro '$(TEXT_1)' redefine : r1 r2 r3 r4 r5 @@ -161,7 +161,7 @@ leaf.5 : # Command lines split across lines. split.cmd: - echo Try spliting command \ + echo Try splitting command \ lines across more \ than one line. diff --git a/1992/ant/try.sh b/1992/ant/try.sh new file mode 100755 index 000000000..465a0cb2b --- /dev/null +++ b/1992/ant/try.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 1992/ant +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + +echo "$ ./ant Makefile am # build the tool itself" 1>&2 +read -r -n 1 -p "Press any key to run: ./ant Makefile am: " +echo 1>&2 +./ant Makefile am +echo 1>&2 + +echo "$ ./am Makefile am_clobber # clobber everything except am" 1>&2 +read -r -n 1 -p "Press any key to continue: " +echo 1>&2 +./am Makefile am_clobber # clobber everything except am +echo 1>&2 + +echo "$ ./am ant.test.mk # run the test Makefile with am" 1>&2 +read -r -n 1 -p "Press any key to continue: " +echo 1>&2 +./am ant.test.mk # run the test Makefile with am diff --git a/thanks-for-help.md b/thanks-for-help.md index 4f3d96b4b..0d044e9b2 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -1505,7 +1505,7 @@ return void. [Cody](#cody) fixed the Makefile so that the program will actually work with it (or at least the rule to clobber files and link `am` to `ant`). The issue was that the variables in the Makefile could not be evaluated in the same way as it's not as -feature-rich as other implementations of `make`. Thus the use of `${RM}` and +feature-rich as other implementations of `make(1)`. Thus the use of `${RM}` and `${CP}` were in the respective rules changed to `rm` and `cp`, for two examples. A new rule had to be added as well. The variable situation might be because they are obtained from the root variable Makefile `var.mk` via `include` which the @@ -1516,7 +1516,10 @@ Cody also fixed another problem, unrelated, in the Makefile with the `.PHONY` rule where a line was not ended with a `\` but should have been. The author stated that in some systems like DOS with Turbo C, it might be -necessary to include `time.h` so Cody did this as well. +necessary to include `time.h` so Cody did this as well as this exists in other +systems too. + +Cody also added the [try.sh](/1992/ant/try.sh) script. ## [1992/buzzard.1](/1992/buzzard.1/buzzard.1.c) ([README.md](/1992/buzzard.1/README.md))