#include #include #include static void usage (void) { fprintf (stderr, "Usage: mkmake [DEF1 [DEF2 ...]]\n"); exit (1); } int main (int argc, char **argv) { char buf[1024]; int i; SLprep_Type *pt; if (isatty (0)) usage (); if (NULL == (pt = SLprep_new ())) return 1; if ((-1 == SLprep_set_prefix (pt, "!")) || (-1 == SLprep_set_comment (pt, "#", "")) || (-1 == SLprep_set_flags (pt, SLPREP_BLANK_LINES_OK | SLPREP_COMMENT_LINES_OK))) { SLprep_delete (pt); return 1; } 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_delete (pt); return 0; }