FreeCalypso > hg > fc-magnetite
view helpers/makeline.c @ 671:5f00e9afd5d9
removing clutter: INIT_blob provision
The lost init.c source was reconstructed from init.obj in 2017; prior
to that reconstruction we were compiling main.lib from partial source:
using the init module in blob form with various binary patches, but
recompiling create_RVtasks.c from source so we could change RiViera SWE
configuration.
We've been using the fully reconstructed version of init.c since 2017,
and now the old INIT_blob provision (which is not used by any config)
is just extra noise in our targets/*.conf files. This commit removes
all bits related to this provision, reducing clutter and making it
easier to add new targets.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 29 May 2020 02:36:39 +0000 |
parents | 352f80da6813 |
children |
line wrap: on
line source
/* * This helper utility for the FreeCalypso Magnetite build system * emits potentially long generated Makefile lines, breaking them into * multiple lines with backslashes. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> int is_cmd, equ_or_colon, extra_indent; int linelen; main(argc, argv) char **argv; { char **ap; if (argc < 4) { fprintf(stderr, "error: too few arguments\n", argv[0]); exit(1); } if (!strcmp(argv[1], "def")) { is_cmd = 0; equ_or_colon = '='; extra_indent = 0; } else if (!strcmp(argv[1], "dep")) { is_cmd = 0; equ_or_colon = ':'; extra_indent = 1; } else if (!strcmp(argv[1], "cmd")) { is_cmd = 1; extra_indent = 1; } else { fprintf(stderr, "error: line type \"%s\" not known\n", argv[1]); exit(1); } if (is_cmd) { putchar('\t'); linelen = 8; } else linelen = 0; fputs(argv[2], stdout); linelen += strlen(argv[2]); if (is_cmd) { putchar(' '); linelen++; } else { putchar(equ_or_colon); linelen++; putchar('\t'); do linelen++; while (linelen & 7); } fputs(argv[3], stdout); linelen += strlen(argv[3]); for (ap = argv + 4; *ap; ap++) { if (linelen + 1 + strlen(*ap) <= 78) { putchar(' '); linelen++; } else { fputs(" \\\n\t", stdout); linelen = 8; if (extra_indent) { fputs(" ", stdout); linelen += 4; } } fputs(*ap, stdout); linelen += strlen(*ap); } putchar('\n'); exit(0); }