18 Commits
Author SHA1 Message Date
Landon Curt Noll 0553ff421f add missing tools to var.mk 2025-06-23 22:15:44 -07:00
Landon Curt Noll 76357fc5db update for final rounds, clang-format related values
The use of `cindent(1)` and `indent(1)` by the IOCCC Judges
during final round processing has been deprecated in favor
of the `clang-format(1)` tool.

Removed rules in `1337.mk` related to `cindent(1)` and `indent(1)`.

Added `make clang-format` rule to `1337.mk`.

Added `${CLANG_FORMAT}` Makefile variable to `var.mk`.

Created `.clang-format` to hold the IOCCC style, a style that
is somewhat similar to the Linux Kernel style.
2025-06-19 19:29:59 -07:00
Cody Boone Ferguson 5bdcc8151a Remove bogus duplicate variable in var.mk
There were two variables called TPUT but the first one had a bogus value
('tout'). The second one is correct ('tput').
2025-01-19 06:08:51 -08:00
Landon Curt Noll 6b950a2e3c change references to post Great Fork Merge URLs
In preparation for the **Great Fork Merge**:

We change references for the repo from
`https://github.com/ioccc-src/temp-test-ioccc`
to `https://github.com/ioccc-src/winner`.

We change references for the web site from
`https://ioccc-src.github.io/temp-test-ioccc`
to `https://github.com/ioccc-src/winner`.

NOTE: There will be a **LOT OF LINKS BROKEN**, because of the changes
to the REPO URL and the WEBSITE URL, until the **Great Fork Merge**
updates the+[official IOCCC website](https://www.ioccc.org).
2024-12-28 21:56:40 -08:00
Cody Boone Ferguson dfd65032bb Fix title and link to SDL FAQ in var.mk
The link, for now, refers to the GitHub repo html file
(https://ioccc-src.github.io/temp-test-ioccc/faq.html#SDL) instead of
what it will be later, https://www.ioccc.org/faq.html#SDL.

The title has been changed to not refer to which FAQ (number) it is,
instead saying 'the FAQ on how to compile and use IOCCC entries that
require SDL1 or SDL1'.
2024-07-15 15:56:37 -07:00
Landon Curt Noll 778f57b318 remove Makefile assignment of MAKE
For systems such as BSD that use gmake, do not set `MAKE=`.
2024-06-25 18:28:04 -07:00
Landon Curt Noll a78d78ccff fix use of temp-test-ioccc
Regarding use of `temp-test-ioccc` in current repo files:

We will ignore files under `tmp/` as they are going away.

We will ignore files under `bin/` as they will have their default `REPO_URL` value changed during the later parts of the **Great Fork Merge**.

We will ignore `*.html` files as the above changes to `bin/` tool will also change them during the later parts of the **Great Fork Merge**.

We will ignore `sitemap.xml` as the it will change during the later parts of the **Great Fork Merge**.

So this leaves for our consideration the files printed by this command:

```sh
find * -type f ! -name '*.html' ! -name sitemap.xml ! -path 'tmp/*' ! -path 'bin/*' -print0 | xargs -0 grep -l 'temp-test-ioccc'
```

We see 5 (3 sir), 3 cases:

* README.md index.md

The reference to `temp-test-ioccc` will be removed when a given section goes away as part of the later parts of the **Great Fork Merge**.

Nothing needs to be dome here other than to add some **XXX** comments to help remind us of what needs to be done in later parts of the **Great Fork Merge**.

* bugs.md faq.md news.md var.mk

The use of `temp-test-ioccc` is outside of a blob.

Here `https://github.com/ioccc-src/temp-test-ioccc/` may be be replaced by `https://github.com/ioccc-src/winner/` in anticipation of the **Great Fork Merge**.

There is an exception: The historic discussion abouts the history of the `temp-test-ioccc` repo needs to retain their `https://github.com/ioccc-src/temp-test-ioccc/` strings in `faq.md` and `news.md`.

* 2005/sykes/README.md

The markdown links that start with `https://github.com/ioccc-src/temp-test-ioccc/blob/master/` should instead start with `%%REPO_URL%%/`.

After the **Great Fork Merge**, the `%%REPO_URL%%/` value will refer to `https://github.com/ioccc-src/winner/blob/master/` instead.

* 2020/ferguson1/snake.1

There is not a tool to "pre-process" cat pages like there is for markdown files: no should there be.

The cat page refers to a markdown file when instead it should refer to a HTML page.

In this case we suggest that `https://github.com/ioccc-src/temp-test-ioccc/blob/` be replaced by `https://www.isthe.com/`, and `.md` be replaced by `.html` in anticipation of what it will need to be after the **Great Fork Merge**.

* YYYY/entry_dir/*.sh

The shell scripts references by the above command are "helper shell scripts.   Like man pages, there is no "pre-processor" for shell scripts, nor should there be.

Looking at these helper shell script files in detail:

```sh
find * -name '*.sh' ! -path 'tmp/*' ! -path 'bin/*' -print0 | xargs -0 grep 'temp-test-ioccc/blob/master'
```

We see that they all make references to `faq.md#something.`.

This is wrong in 2 ways:

0) They should not refer to the markdown file `faq.md` but rather to the HTML file `faq.html`.

1) They punctuate a literal string (with one exception) by adding a final period (".") to a string that requires somebody to copy and paste and exclude the final period (".").

Since these echo commands are suggesting that the user view something within the FAQ, we recommend that `echo "Tip: see https://github.com/ioccc-src/temp-test-ioccc/blob/master/faq.md#` be replaced by `echo "Tip: see https://www.ioccc.org/faq.html#` AND that the final period (".") be removed.  Thus they too will anticipate what they will need to be after the **Great Fork Merge**.
2024-05-30 11:17:04 -07:00
Cody Boone Ferguson d7ed68b545 Add direct link to FAQ in var.mk for SDL 2024-05-12 09:21:00 -07:00
Cody Boone Ferguson 631869dc7f Add PDFLATEX var to var.mk
This is not strictly necessary any more than some of the others but two
entries use this tool (at least since I added them back - they were
missing) and it seems better to have it this way.
2023-12-20 03:14:32 -08:00
Landon Curt Noll 606020a0c1 fix tty annoyance of 1989/jar.1
Instead of writing the literal output of the binary to /dev/tty,
we simulate the output by silencing stderr and by piping the binary
thru strings.

The raw binary executable output to /dev/tty was capable "ill effects".
Such "ill effects" could be as mild as printing strange characters, to
beeping (sometimes for extended periods), and even the termination
of the terminal app window in some cases.

The "ill effects" from the printing of the raw binary executable
is highly dependent on the compiler, compiler version, libc, crt0.o,
operating system, terminal app and/or terminal driver.  As such,
the "ill effects" that one user might see may be hard to reproduce
in order environments.  While some of the more extreme "ill effects"
might be unlikely, what was more common was for the binary output
to be interpreted strangely by the terminal app and/or driver to
the extent that the was lost or not well seen by the user.

This change introduces the ${STRINGS} Makefile variable to the
`/var/mk` file and uses to to "clean out" any output that might
produce such "ill effects".  Prior to the command, the echo does
clearly state:

```
NOTE: We will now simulate: cc -c -o /dev/tty jar.1.c
```

We also modify the `1989/jar.1/jar.1.sh` and `1989/jar.1/jar.1.alt.sh'
shell scripts to pipe raw binary through strings as well.

Thus the user can, if they wish, try the raw command themselves.
If that command does produce the more extreme examples of "ill
effects", the fault rests with the user.  We mention that the
Makefile will echo the command to stdout in the `README.md`.  But
that is as far as we go.  We do **NOT RECOMMEND** having a shell
script or Makefile rule that would write the raw binary to `/dev/tty`
but rather let the immigration of the user try or not try it.

In general, the use piping raw binary thru stings makes the original
output more apparent, as was the case when using dumb CRT terminals
that couldn't even process ANSI escape sequences were more common.
2023-07-09 13:55:14 -07:00
Cody Boone Ferguson 63136d41fc Improve documentation of installing SDL and SDL2
Remove how to install SDL1 / SDL2 from var.mk as it's already in faq.md.
Instead refer to faq.md. How to compile (variables etc.) is still in the
var.mk file.

Reworded that section a bit and added 'Other linux distributions'
subsection to 'Linux' (in faq.md).

Minor typo fix in faq.md at the same time as the above change. Normally
I would not do this but it's one word changed and I am too tired at this
time (or can't be bothered?) to do another pull request for one word.
2023-06-03 05:00:01 -07:00
Cody Boone Ferguson 41071c51dd Add BASH variable to var.mk 2023-04-14 06:35:08 -07:00
Landon Curt Noll a1e4b376e9 improve instructions for entries that use SDL or SDL2
Add instructions on how to install SDL or SDL2 for macOS, Linux and
Debian for:

    2005/jetro
    2014/maffiodo1
    2018/giles

Put variables and instructions into the top level `var.mk` file.
2023-03-26 00:40:03 -07:00
Cody Boone Ferguson c40a061a2d Get 2006/monge to link
The problem was that SDL2 removed two functions that are used in this
code. Since SDL1 is still available and since changing it to SDL2 is
more complicated than it is worth I've decided to keep it as SDL1,
changing sdl2-config to sdl-config. Nevertheless it actually segfaults
or it does at least in macOS. I have not tested it in linux but I will
in time. At this point I will try debugging it but at least now it will
link.

Typo fixes in README.md and update the reference to SDL2 to be SDL1. I
noted that currently it does not work at least under macOS. I've not yet
put it in the bugs.md file but will in time if I don't get it to work
(again once I test it under linux).
2023-03-23 06:06:41 -07:00
Landon Curt Noll 47018d56cf adjust egrep value in var.mk
For some reason, some people have a think against `egrep`
and whine if you use that command.  To avoid this, EGREP
is set to `grep -E` instead.
2023-03-13 02:39:51 -07:00
Cody Boone Ferguson 643567102a Remove LESSECHO from Makefiles (including var.mk)
As per a request on GitHub the LESSECHO variable has been removed from
all the Makefiles. It was only in the 2019 and 2020 Makefiles as well as
var.mk.
2023-03-11 05:37:48 -08:00
Landon Curt Noll 022bb6b5cd fix how to compile with SDL2, added SDL2_CONFIG to var.mk
Both 2014/maffiodo1 and 2018/giles now use ${SDL2_CONFIG}
to compile with SDL2.
2023-03-08 00:01:17 -08:00
Landon Curt Noll 07e198a52d change Makefiles for 1984 thru 1995 to use var.mk
Instead of including the same long list Makefile
variables, include a common var.mk from the top
directory level.
2023-02-27 00:00:52 -08:00