From 154d40710b7d6c181f4dcd2fa8df0f6fe63fd117 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 4 Dec 2024 10:26:12 -0800 Subject: [PATCH] Fixes for recent commits The Makefile.example file now has the ALT_OBJ and ALT_TARGET (with a comment explaining how to use it) and the alt rule (which if the variables are left empty it will do nothing with 'make alt' or 'make everything'). The example Makefile now has the everything rule as well, for those who have an alt target. Fix links to next/try.sh, next/try.alt.sh and next/Makefile.example in html files (guidelines/rules/FAQ) to not link to GitHub as they're supposed to be downloaded. --- faq.html | 4 ++-- faq.md | 4 ++-- next/Makefile.example | 26 ++++++++++++++++++++++++++ next/guidelines.html | 24 +++++++++++++----------- next/guidelines.md | 22 ++++++++++++---------- next/rules.html | 6 +++--- next/rules.md | 8 ++++---- 7 files changed, 62 insertions(+), 32 deletions(-) diff --git a/faq.html b/faq.html index b9462c167..21aa95beb 100644 --- a/faq.html +++ b/faq.html @@ -893,7 +893,7 @@ this is not clear!

If your submission has more than one use, or if you have interesting ways to invoke your program, perhaps using other commonly installed tools (or tools included in your submission), it can be helpful to include a try.sh script.

-

A template try.sh can be used as a +

A template try.sh can be used as a starting point, or you can look at some of the others in the website, to get some ideas.

It is not detrimental to your chances of winning if you do not include one as @@ -903,7 +903,7 @@ does not mean that a program that cannot be used with other programs is less interesting or less likely to win, but we do enjoy interesting and creative uses of submissions.

If you have alternate code that you are including, then you can use the -try.alt.sh template instead.

+try.alt.sh template instead.

We recommend that you include the use of these scripts in the try rule in the example Makefile that you modify for your submission. See the FAQ on “submission Makefiles.

diff --git a/faq.md b/faq.md index b8629c305..f6c9e2e50 100644 --- a/faq.md +++ b/faq.md @@ -580,7 +580,7 @@ If your submission has more than one use, or if you have interesting ways to invoke your program, perhaps using other commonly installed tools (or tools included in your submission), it can be helpful to include a `try.sh` script. -A [template try.sh](%%REPO_URL%%/next/try.sh) can be used as a +A [template try.sh](next/try.sh) can be used as a starting point, or you can look at some of the others in the website, to get some ideas. @@ -592,7 +592,7 @@ interesting or less likely to win, but we do enjoy interesting and creative uses of submissions. If you have alternate code that you are including, then you can use the -[try.alt.sh template](%%REPO_URL%%/next/try.alt.sh) instead. +[try.alt.sh template](next/try.alt.sh) instead. We recommend that you include the use of these scripts in the `try` rule in the example Makefile that you modify for your submission. See the diff --git a/next/Makefile.example b/next/Makefile.example index a6b147340..1f1bf0bd0 100644 --- a/next/Makefile.example +++ b/next/Makefile.example @@ -130,6 +130,16 @@ endif PROG= prog OBJ= ${PROG}.o TARGET= ${PROG} +# If you have alternate code, try something like: +# ALT_OBJ= ${PROG}.alt.o +# ALT_TARGET= ${PROG}.alt +# +# or so. +# +# Please remove these lines either way. +# +ALT_OBJ= +ALT_TARGET= # list any data files supplied with the submission # @@ -150,11 +160,27 @@ all: data ${TARGET} ${PROG}: ${PROG}.c ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} +# alternative executable +# +alt: data ${ALT_TARGET} + @${TRUE} + +${PROG}.alt: ${PROG}.alt.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + + + # data files # data: ${DATA} @${TRUE} +# both all and alt +# +everything: all alt + @${TRUE} + + # one suggested way to run the program # try: ${PROG} ${DATA} diff --git a/next/guidelines.html b/next/guidelines.html index a72135dbf..ae0e0a7d6 100644 --- a/next/guidelines.html +++ b/next/guidelines.html @@ -465,7 +465,7 @@ writing by contacting the judges.

-These IOCCC guidelines are version 28.24 2024-12-02. +These IOCCC guidelines are version 28.25 2024-12-04.

IMPORTANT: Be SURE to read the IOCCC rules.

Jump to: top

@@ -551,7 +551,7 @@ repo. to account for the new mkiocccentry repo tools.

-You are encouraged to use this +You are encouraged to use this Makefile.example, rather than the one at the mkiocccentry repo.

@@ -939,14 +939,14 @@ that’s OK too!

Makefiles

-

We recommend that you use the example +

We recommend that you use the example Makefile, renamed as Makefile of course, as the starting point for your submission’s required Makefile. Feel free to modify the Makefile to suit your obfuscated needs.

The rest of this section will assume that you are using some variant of the -example Makefile, +example Makefile, renamed as Makefile of course.

@@ -1089,7 +1089,7 @@ Again, please note that in macOS, /usr/bin/gcc is actually cl

We LIKE submissions that use an edited variant of the -example Makefile, +example Makefile, renamed as Makefile of course. This makes it easier for the IOCCC Judges to test your submission. And if your submissions wins, it makes it easier to integrate it into the Official IOCCC winner website. @@ -1102,11 +1102,12 @@ example script). Of course, it is quite possible that only one invocation is possible, so it is not necessarily detrimental to your submission if you do not include one, though we do like interesting and creative uses of submissions. See also the +FAQ on “submitting try.sh and try.alt.sh scripts”.

-You might wish to add ./try.sh, and if you have alternate code, -./try.alt.sh, to the try rule in the Makefile you submit. See also the -FAQ on “submitting try.sh and try.alt.sh scripts”. +You might wish to add ./try.sh to the try rule in the Makefile you submit. +If you have alternate code, then you could add a try.alt rule or something +like that.

Doing masses of #defines to obscure the source has become ‘old’. We tend to ‘see thru’ masses of #defines due to our pre-processor tests @@ -1340,7 +1341,7 @@ they do not work as documented.

is NOT the smallest C source file that when compiled and run, dumps core:

    main;

-Unless you specify -fwritable-strings (see COTHER in the example +Unless you specify -fwritable-strings (see COTHER in the example Makefile) do not assume this sort of code will work:

@@ -1563,8 +1564,9 @@ CPU, we might just try your submission on that emulator as well :-)

If your submission MUST run only on a 64-bit or 32-bit architecture, then you MUST specify the -arch on your command line -(see ARCH in the example -Makefile). Do not assume a processor word size without specifying -arch. For example: +(see ARCH in the example +Makefile). Do not assume a processor word size without +specifying -arch. For example:

    ARCH= -m64

diff --git a/next/guidelines.md b/next/guidelines.md index 94abaf8f5..2c6add942 100644 --- a/next/guidelines.md +++ b/next/guidelines.md @@ -52,7 +52,7 @@ Jump to: [top](#)

-These [IOCCC guidelines](guidelines.html) are version **28.24 2024-12-02**. +These [IOCCC guidelines](guidelines.html) are version **28.25 2024-12-04**.

**IMPORTANT**: Be **SURE** to read the [IOCCC rules](rules.html). @@ -161,7 +161,7 @@ to account for the new [mkiocccentry repo](https://github.com/ioccc-src/mkioccce

You **are encouraged** to use [this -Makefile.example](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example), +Makefile.example](Makefile.example), rather than the one at the `mkiocccentry` repo.

@@ -647,14 +647,14 @@ that's OK too!

We **recommend** that you use the [example -Makefile](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example), +Makefile](Makefile.example), renamed as `Makefile` of course, as the starting point for your submission's required `Makefile`. Feel free to modify the `Makefile` to suit your obfuscated needs.

The rest of this section will assume that you are using some variant of the -[example Makefile](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example), +[example Makefile](Makefile.example), renamed as `Makefile` of course.

@@ -860,7 +860,7 @@ Jump to: [top](#)

We **LIKE** submissions that use an edited variant of the -[example Makefile](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example), +[example Makefile](Makefile.example), renamed as `Makefile` of course. This makes it easier for the [IOCCC Judges](../judges.html) to test your submission. And if your submissions wins, it makes it easier to integrate it into the [Official IOCCC winner website](https://www.ioccc.org/index.html). @@ -874,12 +874,13 @@ example script). Of course, it is quite possible that only one invocation is possible, so it is not necessarily detrimental to your submission if you do not include one, though we do like interesting and creative uses of submissions. See also the +FAQ on "[submitting try.sh and try.alt.sh scripts](../faq.html#try_scripts)".

-You might wish to add `./try.sh`, and if you have alternate code, -`./try.alt.sh`, to the `try` rule in the Makefile you submit. See also the -FAQ on "[submitting try.sh and try.alt.sh scripts](../faq.html#try_scripts)". +You might wish to add `./try.sh` to the `try` rule in the Makefile you submit. +If you have alternate code, then you could add a `try.alt` rule or something +like that.

Doing masses of `#define`s to obscure the source has become 'old'. We @@ -1161,7 +1162,7 @@ is NOT the smallest C source file that when compiled and run, dumps core:

Unless you specify `-fwritable-strings` (see `COTHER` in the [example -Makefile](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example)) +Makefile](Makefile.example)) do not assume this sort of code will work:

@@ -1426,7 +1427,8 @@ CPU, we might just try your submission on that emulator as well :-) If your submission **MUST** run only on a 64-bit or 32-bit architecture, then you **MUST** specify the `-arch` on your command line (see `ARCH` in the [example -Makefile](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example)). Do not assume a processor word size without specifying `-arch`. For example: +Makefile](Makefile.example)). Do not assume a processor word size without +specifying `-arch`. For example:

``` diff --git a/next/rules.html b/next/rules.html index 6757699ef..43740a14b 100644 --- a/next/rules.html +++ b/next/rules.html @@ -466,7 +466,7 @@ writing by contacting the judges.

Jump to: top

-These IOCCC rules are version 28.11 2024-12-01. +These IOCCC rules are version 28.12 2024-12-04.

IMPORTANT: Be sure to read the IOCCC guidelines.

Jump to: top

@@ -905,7 +905,7 @@ those requirements.

The Makefile MUST be a non-empty file in GNU Makefile form. See the -Makefile.example, +Makefile.example, the FAQ on “submission Makefile” and the @@ -1092,7 +1092,7 @@ make(1) compatibility the IOCCC supports for more details.

You are ENCOURAGED to use -Makefile.example, +Makefile.example, renamed as Makefile of course, for help in constructing your Makefile.

The target of the Makefile must be called prog. The original diff --git a/next/rules.md b/next/rules.md index e1f1a9570..faaad4147 100644 --- a/next/rules.md +++ b/next/rules.md @@ -57,7 +57,7 @@ Jump to: [top](#) Jump to: [top](#)

-These [IOCCC rules](rules.html) are version **28.11 2024-12-01**. +These [IOCCC rules](rules.html) are version **28.12 2024-12-04**.

**IMPORTANT**: Be sure to read the [IOCCC guidelines](guidelines.html). @@ -595,7 +595,7 @@ It is generated by the `mkiocccentry(1)` tool. You submission may have additional files, however the filenames of those additional files **MUST**:

-*

Be less than **100** characters in length.

+*

Be less than **100** characters in length.

*

Match the regular expression: `^[0-9A-Za-z][0-9A-Za-z._+-]*$`

@@ -607,7 +607,7 @@ those requirements.

The `Makefile` **MUST** be a **non**-empty file in **[GNU Makefile](https://www.gnu.org/software/make/manual/make.html)** form. See the -[Makefile.example](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example), +[Makefile.example](Makefile.example), the FAQ on "[submission Makefile](../faq.html#submission_makefiles)" and the @@ -812,7 +812,7 @@ supports](../faq.html#make_compatibility) for more details.

You are **ENCOURAGED** to use -[Makefile.example](https://github.com/ioccc-src/temp-test-ioccc/blob/master/next/Makefile.example), +[Makefile.example](Makefile.example), renamed as `Makefile` of course, for help in constructing your `Makefile`.