- register int i;
- register char *cp;
- extern int optind;
- extern char *optarg;
- char c;
-
- optind = initOptInd;
-
- while((c = getopt(argc, argv, "BCD:I:J:L:MPSWd:ef:iknp:qrstvh")) != -1) {
- switch(c) {
- case 'B':
- backwards = TRUE;
- Var_Append(MAKEFLAGS, "-B", VAR_GLOBAL);
- break;
- case 'C':
- backwards = sysVmake = amMake = FALSE;
- Var_Append(MAKEFLAGS, "-C", VAR_GLOBAL);
- break;
- case 'D':
- Var_Set(optarg, "1", VAR_GLOBAL);
- Var_Append(MAKEFLAGS, "-D", VAR_GLOBAL);
- Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
- break;
- case 'I':
- Parse_AddIncludeDir(optarg);
- Var_Append(MAKEFLAGS, "-I", VAR_GLOBAL);
- Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
- break;
- case 'J':
- maxJobs = atoi(optarg);
- Var_Append(MAKEFLAGS, "-J", VAR_GLOBAL);
- Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
- break;
- case 'L':
- maxLocal = atoi(optarg);
- Var_Append(MAKEFLAGS, "-L", VAR_GLOBAL);
- Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
- break;
- case 'M':
- amMake = TRUE;
- Var_Append(MAKEFLAGS, "-M", VAR_GLOBAL);
- break;
- case 'P':
- usePipes = FALSE;
- Var_Append(MAKEFLAGS, "-P", VAR_GLOBAL);
- break;
- case 'S':
- keepgoing = FALSE;
- Var_Append(MAKEFLAGS, "-S", VAR_GLOBAL);
- break;
- case 'W':
- noWarnings = TRUE;
- Var_Append(MAKEFLAGS, "-W", VAR_GLOBAL);
- break;
- case 'd':
- {
- char *modules = optarg;
-
- while (*modules) {
- switch (*modules) {
- case 's':
- debug |= DEBUG_SUFF;
- break;
- case 'm':
- debug |= DEBUG_MAKE;
- break;
- case 'j':
- debug |= DEBUG_JOB;
- break;
- case 't':
- debug |= DEBUG_TARG;
- break;
- case 'd':
- debug |= DEBUG_DIR;
- break;
- case 'v':
- debug |= DEBUG_VAR;
- break;
- case 'c':
- debug |= DEBUG_COND;
- break;
- case 'p':
- debug |= DEBUG_PARSE;
- break;
- case 'r':
- debug |= DEBUG_RMT;
- break;
- case 'a':
- debug |= DEBUG_ARCH;
- break;
- case '*':
- debug = ~0;
- break;
- }
- modules++;
+ extern int optind;
+ extern char *optarg;
+ register int i;
+ register char *cp;
+ char c;
+
+ optind = initOptInd;
+ while((c = getopt(argc, argv,
+ "BCD:I:J:L:MPSWd:ef:iknp:qrstvh")) != -1) {
+ switch(c) {
+ case 'B':
+ backwards = TRUE;
+ Var_Append(MAKEFLAGS, "-B", VAR_GLOBAL);
+ break;
+ case 'C':
+ backwards = sysVmake = amMake = FALSE;
+ Var_Append(MAKEFLAGS, "-C", VAR_GLOBAL);
+ break;
+ case 'D':
+ Var_Set(optarg, "1", VAR_GLOBAL);
+ Var_Append(MAKEFLAGS, "-D", VAR_GLOBAL);
+ Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
+ break;
+ case 'I':
+ Parse_AddIncludeDir(optarg);
+ Var_Append(MAKEFLAGS, "-I", VAR_GLOBAL);
+ Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
+ break;
+ case 'J':
+ maxJobs = atoi(optarg);
+ Var_Append(MAKEFLAGS, "-J", VAR_GLOBAL);
+ Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
+ break;
+ case 'L':
+ maxLocal = atoi(optarg);
+ Var_Append(MAKEFLAGS, "-L", VAR_GLOBAL);
+ Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
+ break;
+ case 'M':
+ amMake = TRUE;
+ Var_Append(MAKEFLAGS, "-M", VAR_GLOBAL);
+ break;
+ case 'P':
+ usePipes = FALSE;
+ Var_Append(MAKEFLAGS, "-P", VAR_GLOBAL);
+ break;
+ case 'S':
+ keepgoing = FALSE;
+ Var_Append(MAKEFLAGS, "-S", VAR_GLOBAL);
+ break;
+ case 'W':
+ noWarnings = TRUE;
+ Var_Append(MAKEFLAGS, "-W", VAR_GLOBAL);
+ break;
+ case 'd': {
+ char *modules = optarg;
+
+ while (*modules) {
+ switch (*modules) {
+ case '*':
+ debug = ~0;
+ break;
+ case 'a':
+ debug |= DEBUG_ARCH;
+ break;
+ case 'c':
+ debug |= DEBUG_COND;
+ break;
+ case 'd':
+ debug |= DEBUG_DIR;
+ break;
+ case 'j':
+ debug |= DEBUG_JOB;
+ break;
+ case 'm':
+ debug |= DEBUG_MAKE;
+ break;
+ case 'p':
+ debug |= DEBUG_PARSE;
+ break;
+ case 'r':
+ debug |= DEBUG_RMT;
+ break;
+ case 's':
+ debug |= DEBUG_SUFF;
+ break;
+ case 't':
+ debug |= DEBUG_TARG;
+ break;
+ case 'v':
+ debug |= DEBUG_VAR;
+ break;
+ }
+ ++modules;
+ }
+ Var_Append(MAKEFLAGS, "-d", VAR_GLOBAL);
+ Var_Append(MAKEFLAGS, optarg, VAR_GLOBAL);
+ break;
+ }
+ case 'e':
+ checkEnvFirst = TRUE;
+ Var_Append(MAKEFLAGS, "-e", VAR_GLOBAL);
+ break;
+ case 'f':
+ (void)Lst_AtEnd(makefiles, (ClientData)optarg);
+ break;
+ case 'i':
+ ignoreErrors = TRUE;
+ Var_Append(MAKEFLAGS, "-i", VAR_GLOBAL);
+ break;
+ case 'k':
+ keepgoing = TRUE;
+ Var_Append(MAKEFLAGS, "-k", VAR_GLOBAL);
+ break;
+ case 'n':
+ noExecute = TRUE;
+ Var_Append(MAKEFLAGS, "-n", VAR_GLOBAL);
+ break;
+ case 'p':
+ printGraph = atoi(optarg);
+ break;
+ case 'q':
+ queryFlag = TRUE;
+ /* Kind of nonsensical, wot? */
+ Var_Append(MAKEFLAGS, "-q", VAR_GLOBAL);
+ break;
+ case 'r':
+ noBuiltins = TRUE;
+ Var_Append(MAKEFLAGS, "-r", VAR_GLOBAL);
+ break;
+ case 's':
+ beSilent = TRUE;
+ Var_Append(MAKEFLAGS, "-s", VAR_GLOBAL);
+ break;
+ case 't':
+ touchFlag = TRUE;
+ Var_Append(MAKEFLAGS, "-t", VAR_GLOBAL);
+ break;
+ case 'v':
+ sysVmake = backwards = TRUE;
+ Var_Append(MAKEFLAGS, "-v", VAR_GLOBAL);
+ break;
+ case 'h':
+ case '?': {
+ int i;
+
+ for (i = 0; i < sizeof(help)/sizeof(help[0]); i++)
+ (void)printf("%s\n", help[i]);
+ exit(c == '?' ? -1 : 0);