cosmopolitan/tool/viz
Justine Tunney cf93ecbbb2 Prove that Makefile is fully defined
The whole repository is now buildable with GNU Make Landlock sandboxing.
This proves that no Makefile targets exist which touch files other than
their declared prerequisites. In order to do this, we had to:

  1. Stop code morphing GCC output in package.com and instead run a
     newly introduced FIXUPOBJ.COM command after GCC invocations.

  2. Disable all the crumby Python unit tests that do things like create
     files in the current directory, or rename() files between folders.
     This ended up being a lot of tests, but most of them are still ok.

  3. Introduce an .UNSANDBOXED variable to GNU Make to disable Landlock.
     We currently only do this for things like `make tags`.

  4. This change deletes some GNU Make code that was preventing the
     execve() optimization from working. This means it should no longer
     be necessary in most cases for command invocations to be indirected
     through the cocmd interpreter.

  5. Missing dependencies had to be declared in certain places, in cases
     where they couldn't be automatically determined by MKDEPS.COM

  6. The libcxx header situation has finally been tamed. One of the
     things that makes this difficult is MKDEPS.COM only wants to
     consider the first 64kb of a file, in order to go fast. But libcxx
     likes to have #include lines buried after huge documentation.

  7. An .UNVEIL variable has been introduced to GNU Make just in case
     we ever wish to explicitly specify additional things that need to
     be whitelisted which aren't strictly prerequisites. This works in
     a manner similar to the recently introduced .EXTRA_PREREQS feature.

There's now a new build/bootstrap/make.com prebuilt binary available. It
should no longer be possible to write invalid Makefile code.
2022-08-06 04:05:08 -07:00
..
lib WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00
ascii2utf8.c Change license 2020-12-27 17:18:44 -08:00
basicidea.c Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
bd.c Don't pass unused args to printf (#311) 2021-11-13 01:10:45 -08:00
bf.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
bin2asm.c Make improvements 2022-04-24 10:06:05 -07:00
bing.c Change license 2020-12-27 17:18:44 -08:00
comma.c Change license 2020-12-27 17:18:44 -08:00
cpuid.c Fix stdio regression 2022-05-19 00:51:15 -07:00
deathstar.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
derasterize.c Make _Thread_local work across platforms 2022-07-10 04:01:17 -07:00
double2int.c Remove garbage collector macro from header (#114) 2021-03-07 20:23:29 -08:00
dumphexc.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
echoctl.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
fixconsole.c Improve synchronization 2022-04-15 15:31:55 -07:00
fliphex.c Add SSL to redbean 2021-06-24 13:20:50 -07:00
float2bin.c Pacify file locks on Windows 2021-06-12 00:01:55 -07:00
fold.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
fontspace.c Make numerous improvements 2021-09-28 01:52:34 -07:00
generatematrix.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
generatetortureimage.c Remove garbage collector macro from header (#114) 2021-03-07 20:23:29 -08:00
getglyph.c Make numerous improvements 2021-09-28 01:52:34 -07:00
getopts.c Improve redbean plus code size optimizations 2022-05-29 08:21:19 -07:00
int2float.c Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
invertblocks.c Change license 2020-12-27 17:18:44 -08:00
life.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
magikarp.c Make improvements 2022-04-24 10:06:05 -07:00
maxmind.c Add tcp syn packet fingerprinting to redbean 2022-07-17 02:43:49 -07:00
memplan.c Make some minor fixups to bug reporting, etc. 2022-07-11 05:58:24 -07:00
memzoom.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
ntmaster.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
od16.c Change license 2020-12-27 17:18:44 -08:00
printansi.c Remove garbage collector macro from header (#114) 2021-03-07 20:23:29 -08:00
printdos2errno.c Make improvements 2022-04-24 10:06:05 -07:00
printimage.c printimage: keep aspect ratio when scaling to fit (#479) 2022-07-11 15:58:21 -07:00
printpeb.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
printpixel.c Change license 2020-12-27 17:18:44 -08:00
printvideo.c Prove that Makefile is fully defined 2022-08-06 04:05:08 -07:00
rgbtoxterm.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
rsastrength.c Make numerous improvements 2021-09-28 01:52:34 -07:00
tabalign.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
tailf.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
tcp.c Add tcp syn packet fingerprinting to redbean 2022-07-17 02:43:49 -07:00
unbing.c Change license 2020-12-27 17:18:44 -08:00
unicode.c Remove garbage collector macro from header (#114) 2021-03-07 20:23:29 -08:00
upscalefloat.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
upscaleint.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
vdsodump.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
vdsosyms.c Make improvements 2022-05-24 10:58:48 -07:00
viz.mk Add tcp syn packet fingerprinting to redbean 2022-07-17 02:43:49 -07:00
xterm256cubes.c Change license 2020-12-27 17:18:44 -08:00
xterm256effective.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
xterm256effective2.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
xterm256gradient.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
xterm256info.c Change license 2020-12-27 17:18:44 -08:00