diff options
Diffstat (limited to 'libslang/src/mkfiles/mkmake.c')
-rw-r--r-- | libslang/src/mkfiles/mkmake.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libslang/src/mkfiles/mkmake.c b/libslang/src/mkfiles/mkmake.c new file mode 100644 index 0000000..30abfb6 --- /dev/null +++ b/libslang/src/mkfiles/mkmake.c @@ -0,0 +1,41 @@ +#include <stdio.h> +#include <slang.h> +#include <stdlib.h> + +static void usage (void) +{ + fprintf (stderr, "Usage: mkmake [DEF1 [DEF2 ...]]\n"); + exit (1); +} + + +int main (int argc, char **argv) +{ + char buf[1024]; + int i; + SLPreprocess_Type pt; + + if (isatty (0)) + usage (); + + SLprep_open_prep (&pt); + + pt.preprocess_char = '!'; + pt.comment_char = '#'; + pt.flags = SLPREP_BLANK_LINES_OK | SLPREP_COMMENT_LINES_OK; + + for (i = 1; i < argc; i++) + SLdefine_for_ifdef (argv[i]); + + while (NULL != fgets (buf, sizeof (buf) - 1, stdin)) + { + if (SLprep_line_ok (buf, &pt)) + { + fputs (buf, stdout); + } + } + + SLprep_close_prep (&pt); + return 0; +} + |