FreeCalypso > hg > fc-magnetite
view helpers/makeline.c @ 672:3e4f212e5d49
targets/*.conf cleanup: remove unnecessary TPUDRV_blob= lines
MAIN_blob= and/or TPUDRV_blob= may be *optionally* defined in
targets/*.conf files; if either variable is defined, it means that
using the specified version of the blob library is allowed on this
target, albeit likely suboptimal; if the variable is not defined,
then using a blob is not an option and compilation from source is
required for this component.
MAIN_blob= and TPUDRV_blob= are now defaulted to empty in configure.sh,
thus there is no need to explicitly specify that using a blob is not
a valid option.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 29 May 2020 03:11:16 +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); }