Files
ioccc/1988/isaak
Landon Curt Noll 96e0f2b966 move some rules into 1337.mk
A number of rules have been moved from entry `Makefile`s into the
`1337.mk` include file to make it easier for these common rules to be
updated or modified globally (by modifying the `1337.mk` include file).

The entry level `Makefile`s are now similar in form to the
/Makefile.example](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
file from the other repo.

The following make rules were moved into the `1337.mk` include file:

- `make indent.c`
- `make install`
- `make diff_orig_prog`
- `make diff_prog_orig`
- `make diff_alt_prog`
- `make diff_prog_alt`

This simplifies the entry level `Makefile`s so that they mostly reflect
the specifics of the particular entry.

Mentioned in FAQ 4.2, that the make diff rules are in the `1337.mk` include file.

Fixed invalid TAB character in `faq.md`.

Removed `make clean` directives that removed `indent.c`.  This file is now
removed via `make indent_clean`, a clean rule that also removes `indent.c`.

Removed `make clobber` directives that removed sandwich,  This file is now
removed via `make indent_clobber`, a clean rule that also removes `sandwich`.

Added `make indent_clean` and `make indent_clobber` rules into the top level
`Makefile` and the year level `YYYY/Makefile`.

Performed `make quick_www` to accomplish the above and to test under macOS.
2024-08-21 23:42:28 -07:00
..
2023-04-01 09:43:21 -07:00
2023-07-06 21:49:38 -07:00
2024-08-21 23:42:28 -07:00

To build:

    make all

There is an alternate version, the original, that can't be compiled in modern systems but can be if you have an old enough compiler. See Alternate code below.

To use:

    ./isaak

Alternate code:

The original version of this code is in isaak.alt.c, with a minor fix so that it will compile. The original entry starts with the line:

    main(){};

This works on some systems. Why? Note that #include <stdio.h> is given on the last line. Why is this needed? Note the unusual calls to sprintf(3).

This version also relied on being able to define #define to something else and using that macro for #define. This was fixed, however, so that you can at least compile it in modern systems.

This version will not likely work on modern systems even though you should be able to compile it.

Alternate build:

    make alt

Alternate use:

Use isaak.alt as you would isaak above.

Judges' remarks:

The program relies heavily on ASCII. Don't even think of running it on an EBCDIC machine.

Historical notes about the original entry

NOTE: If you named the file anything other than isaak.c, you had to change the #include on line 6. This limitation has been fixed in isaak.c and isaak.alt.c by using the __FILE__ macro.

NOTE: The use of null comments to separate macros to construct different tokens from a single macro (e.g., "O/**/O" creates either ++ or -- by defining O to be + or -) may cause some strict ANSI C preprocessors to object.

NOTE: Most System V machines were not be able to execute this program correctly due to the fact that BSD style systems have an sprintf(3) that returns a char *. Due to the above problems, we placed the output of this program in the file isaak.output.txt. Since this was fixed, this file is not strictly necessary, but we keep it for historical purposes (decoded as it used to be uuencoded). See the isaak.orig.c for the original source.

FYI: We are likely to be more strict about portability in the future.

Author's remarks:

No remarks were provided by the author.