亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 簡易MAKE程序的源代碼
?? C
字號:
/************************************************************************* * *  m a k e :   m a i n . c * *======================================================================== * Edition history * *  #    Date                         Comments                       By * --- -------- ---------------------------------------------------- --- *   1    ??                                                         ?? *   2 01.07.89 strcmp(makefile,..) only if makefile a valid ptr.    RAL *   3 23.08.89 initname() added                                     RAL *   4 30.08.89 argument parsing impr., indention ch., macro fl. add.PSH,RAL *   5 03.09.89 k-option added, initname -> init changed             RAL *   6 06.09.89 environment, MAKEFLAGS, e,d,a options added,         RAL *   7 09.09.89 tos support added, fatal args added, fopen makefile  PHH,RAL *   8 17.09.89 setoptions fixed for __STDC__                        RAL * ------------ Version 2.0 released ------------------------------- RAL * *************************************************************************//* *	make: * *	-a try to guess undefined ambiguous macros (*,<) *	-d print debugging info *	-e environment macro def. overwrite makefile def. *	-f makefile name *	-i ignore exit status *	-k continue on errors *	-n pretend to make *	-p print all macros & targets *	-q question up-to-dateness of target.  Return exit status 1 if not *	-r don't not use inbuilt rules *	-s make silently *	-t touch files instead of making them *	-m Change memory requirements (EON only) */#define EXTERN#define INIT(x) = x#define INITARRAY#include "h.h"static char version[]= "2.0";static char *makefile;      /*  The make file  */static FILE *ifd;           /*  Input file desciptor  */static char *ptrmakeflags;/* There must be enough 'space' for all possible flags ! */static char  makeflags[] = "MAKEFLAGS=                    ";void main(argc, argv)int    argc;char **argv;{  register char        *p;		/*  For argument processing  */  int                   estat = 0;	/*  For question  */  register struct name *np;  struct macro         *mp;  int                   targc;		/* temporary for multiple scans */  char                **targv;  char                **nargv;		/* for removing items from argv */  char                **envp;      /* enivironment ptr */  ptrmakeflags = &makeflags[10];  myname = (argc-- < 1) ? "make" : *argv++;#ifdef tos  myname = "Make";#endif  targc = argc;  targv = nargv = argv;  while (targc--) {	if((p = strchr(*targv, '=')) != (char *)NULL) {		*p = '\0';		mp = setmacro(*targv, p + 1);		mp->m_flag |= M_OVERRIDE;		--argc;	} else		*nargv++ = *targv;	++targv;  }  targc = argc;  targv = nargv = argv;  while (targc--) {	if (**targv == '-') {		--argc;		p = *targv++;		while (*++p != '\0') {			switch(mylower(*p)) {			case 'f':	/*  Alternate file name  */				if (*++p == '\0') {					--argc;					if (targc-- == 0)						usage();					p = *targv++;				}				makefile = p;				goto end_of_args;#ifdef eon			case 'm':	/*  Change space requirements  */				if (*++p == '\0') {					--argc;					if (targc-- <= 0)						usage();					p = *targv++;				}				memspace = atoi(p);				goto end_of_args;#endif			default :				setoption(*p);				break;			}		}	end_of_args:;	} else		*nargv++ = *targv++;  }  /* evaluate and update environment MAKEFLAGS */  if((p =getenv("MAKEFLAGS")) != (char *)0)	while(*p) setoption(*p++);  for( p = ptrmakeflags; !isspace((int)*p); p++) ;  *p = '\0';  putenv(makeflags);#ifdef eon  if (initalloc(memspace) == 0xffff)  /*  Must get memory for alloc  */	fatal("Cannot initalloc memory",(char *)0,0);#endif  if (makefile && strcmp(makefile, "-") == 0)  /*   use stdin as makefile  */	ifd = stdin;  else if (!makefile) {    /*  If no file, then use default */	if ((ifd = fopen(DEFN1, "r")) == (FILE *)0) {		if (errno != MNOENT || !DEFN2)			fatal("Can't open %s; error %02x", DEFN1, errno);		else if ((ifd = fopen(DEFN2, "r")) == (FILE *)0)			fatal("Can't open %s; error %02x", DEFN2, errno);	}  }  else if ((ifd = fopen(makefile, "r")) == (FILE *)0)	fatal("Can't open %s; error %2x", makefile, errno);  init();  makerules();  mp = setmacro("MAKE", myname);  mp->m_flag |= M_MAKE;  setmacro("$", "$");  /* set environment macros */  envp = environ; /* get actual environment ptr. */  while (*envp) {	if((p = strchr(*envp, '=')) != (char *)NULL) {		*p = '\0';		mp = setmacro(*envp, p + 1);		*p = '=';		if (useenv) mp->m_flag |= M_OVERRIDE;	} else		fatal("invalid environment: %s",*envp,0);	++envp;  }  input(ifd);	/*  Input all the gunga  */  fclose(ifd);	/*  Finished with makefile  */  lineno = 0;	/*  Any calls to error now print no line number */  if (print)	prt();	/*  Print out structures  */  np = newname(".SILENT");  if (np->n_flag & N_TARG)  silent = TRUE;  np = newname(".IGNORE");  if (np->n_flag & N_TARG)  ignore = TRUE;  precious();  if (!firstname)	fatal("No targets defined",(char *)0,0);  circh();	/*  Check circles in target definitions  */  if (!argc)	estat = make(firstname, 0);  else	while (argc--) {		estat |= make(newname(*argv++), 0);	}  if (quest)	exit(estat);  else		exit(0);}#ifdef __STDC__void setoption(char option)#elsevoid setoption(option)char option;#endif{  register char *c;  option = mylower(option);  switch(option) {	case 'n':	/*  Pretend mode  */		domake = FALSE;		break;	case 'i':	/*  Ignore fault mode  */		ignore = TRUE;		break;	case 'k':	/*  Continue on errror  */		conterr = TRUE;		break;	case 's':	/*  Silent about commands  */		silent = TRUE;		break;	case 'p':		print = TRUE;		break;	case 'r':		rules = FALSE;		break;	case 't':		dotouch = TRUE;		break;	case 'q':		quest = TRUE;		break;	case 'e':		useenv = TRUE;		break;	case 'd':		dbginfo = TRUE;		break;	case 'a':		ambigmac = TRUE;		break;	default:	/*  Wrong option  */		usage();  }  for( c = ptrmakeflags; !isspace((int)*c); c++)	if ( *c == option) return;  *c = option;}void usage(){  fprintf(stderr, "Syntax: %s [{options | macro=val | target}]\n", myname);  fprintf(stderr, "Function: maintaining computer programs      V%s\n",version);  fprintf(stderr, "Options : -a : try to guess undefined ambiguous macros (*,<)\n");  fprintf(stderr, "          -d : print debugging information\n");  fprintf(stderr, "          -e : environment macro def. overwrite makefile def.\n");  fprintf(stderr, "          -f filename : makefile name (default: makefile, Makefile)\n");  fprintf(stderr, "          -i : ignore exit status of executed commands\n");  fprintf(stderr, "          -k : continue with unrelated branches on errors\n");  fprintf(stderr, "          -n : pretend to make\n");  fprintf(stderr, "          -p : print all macros & targets\n");  fprintf(stderr, "          -q : question up-to-dateness of target\n");  fprintf(stderr, "          -r : don't use inbuilt rules\n");  fprintf(stderr, "          -s : make silently\n");  fprintf(stderr, "          -t : touch files instead of making them\n");  fprintf(stderr, "Environment: MAKEFLAGS\n");  exit(1);}void fatal(msg, a1, a2)char *msg;char *a1;int   a2;{  fprintf(stderr, "%s: ", myname);  fprintf(stderr, msg, a1, a2);  fputc('\n', stderr);  exit(1);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人你懂的| 欧美日韩成人综合天天影院| www激情久久| 裸体一区二区三区| 欧美不卡一二三| 国产一区二区三区综合| 国产拍揄自揄精品视频麻豆| 国产福利精品一区二区| 国产精品国产三级国产普通话99| 麻豆精品一区二区三区| 成人性生交大片免费看中文 | 久久一日本道色综合| 日韩一区二区三区av| 久久精品视频免费观看| 亚洲欧美综合色| 亚洲成人动漫av| 美国精品在线观看| 色天天综合色天天久久| 一区二区三区四区中文字幕| 欧美色成人综合| 美日韩一级片在线观看| 国产欧美1区2区3区| 91在线看国产| 日本三级亚洲精品| 亚洲国产精品av| 欧美乱妇15p| 国产成人在线色| 亚洲国产精品视频| 久久视频一区二区| 欧美在线看片a免费观看| 麻豆视频观看网址久久| 中文字幕一区不卡| 91精品国产乱码久久蜜臀| 丁香网亚洲国际| 日精品一区二区| 亚洲视频免费看| 精品国产制服丝袜高跟| 色久优优欧美色久优优| 国产综合色视频| 亚洲一区二区美女| 国产精品美女久久久久av爽李琼| 精品视频免费看| 99精品国产99久久久久久白柏| 日韩一区精品视频| 亚洲精品美国一| 久久精品夜色噜噜亚洲a∨| 欧美中文字幕不卡| 成人精品gif动图一区| 欧美bbbbb| 亚洲成a人v欧美综合天堂下载| 国产精品美女久久久久高潮| 精品欧美久久久| 欧美猛男男办公室激情| 91在线一区二区三区| 久久99久国产精品黄毛片色诱| 亚洲精品免费在线| 中文字幕一区在线| 国产亚洲欧美一级| 欧美成人精品1314www| 欧美日韩一区二区电影| 99精品视频中文字幕| 高清在线观看日韩| 精品中文字幕一区二区| 天天综合色天天综合| 夜夜亚洲天天久久| 中文字幕一区二区在线观看| 亚洲国产精品99久久久久久久久| 日韩欧美一区二区免费| 欧美一区二区私人影院日本| 日本韩国精品在线| 色婷婷综合久久久久中文一区二区| 国产福利视频一区二区三区| 国产综合成人久久大片91| 日韩成人一级片| 青青草国产成人av片免费| 亚洲午夜影视影院在线观看| 一区二区三区免费| 一区二区成人在线视频| 亚洲靠逼com| 一区二区久久久久| 午夜一区二区三区在线观看| 亚洲一区在线看| 一区二区三区精密机械公司| 亚洲精品菠萝久久久久久久| 亚洲日本一区二区| 亚洲综合免费观看高清完整版| 亚洲黄色尤物视频| 亚洲成在线观看| 免费人成网站在线观看欧美高清| 日韩av网站在线观看| 蜜芽一区二区三区| 国产在线一区二区综合免费视频| 精品在线一区二区| 国产曰批免费观看久久久| 国产不卡在线视频| 91麻豆免费看| 欧美日韩国产综合视频在线观看| 欧美精品亚洲二区| 欧美精品一区二区三区蜜桃| 欧美国产日产图区| 亚洲激情图片小说视频| 亚洲大片一区二区三区| 久久草av在线| 99久久伊人精品| 欧美色爱综合网| 日韩一区二区精品在线观看| 久久久久久免费| 亚洲日本免费电影| 日韩不卡一区二区| 国产激情一区二区三区| 色婷婷国产精品综合在线观看| 4438亚洲最大| 国产精品丝袜在线| 亚洲成av人影院| 国产成人av电影免费在线观看| 一本大道久久精品懂色aⅴ| 欧美日韩国产一级片| 久久久久久毛片| 亚洲国产精品嫩草影院| 韩国v欧美v亚洲v日本v| 色综合天天综合狠狠| 欧美一区二区三区视频在线观看 | 免费高清成人在线| 色丁香久综合在线久综合在线观看| 91免费精品国自产拍在线不卡| 色综合久久综合中文综合网| 制服丝袜成人动漫| 亚洲国产精品精华液2区45| 亚洲乱码一区二区三区在线观看| 首页国产欧美久久| 成人av在线看| 欧美一区二区三区性视频| 久久久久久电影| 91精品福利视频| 精品国产sm最大网站免费看| 中文字幕中文字幕在线一区 | xnxx国产精品| 亚洲成人免费视| av高清久久久| 久久久久久久久99精品| 亚洲福利一区二区三区| av中文字幕不卡| 欧美成人性福生活免费看| 亚洲午夜免费福利视频| 成人免费黄色在线| 亚洲精品一区二区在线观看| 亚洲成年人网站在线观看| 色诱视频网站一区| 中文字幕在线不卡| 国产成人精品一区二区三区四区 | 日韩免费电影网站| 亚洲一区二区三区三| 97精品国产97久久久久久久久久久久| 久久人人爽爽爽人久久久| 蜜臀av国产精品久久久久| 91精品午夜视频| 天天做天天摸天天爽国产一区| 欧美专区亚洲专区| 一区二区激情视频| 欧亚洲嫩模精品一区三区| 国产精品久久久久久久浪潮网站 | 亚洲电影激情视频网站| 欧美综合天天夜夜久久| 亚洲一二三专区| 色哟哟日韩精品| 亚洲人吸女人奶水| 91在线精品一区二区三区| 中文成人av在线| 激情小说亚洲一区| 久久免费视频色| 亚洲色欲色欲www| 精品少妇一区二区三区在线播放 | 亚洲男人天堂av| 色哟哟一区二区三区| 蜜臀va亚洲va欧美va天堂| 亚洲国产成人91porn| 亚洲综合在线电影| 国产在线播放一区三区四| 精品国产一二三| 国产高清久久久| 国产精品国产三级国产三级人妇| caoporn国产一区二区| 亚洲欧洲日韩女同| 在线一区二区观看| 午夜视频久久久久久| 精品欧美一区二区三区精品久久| 狠狠色伊人亚洲综合成人| 久久久国产精品午夜一区ai换脸| 国产超碰在线一区| 亚洲精品欧美在线| 91精品麻豆日日躁夜夜躁| 九九在线精品视频| 国产精品人成在线观看免费| 99久久婷婷国产综合精品电影| 亚洲精品成人少妇| 91精品国产综合久久小美女| 国产综合一区二区| 亚洲欧美色图小说| 欧美日本免费一区二区三区| 久久精品免费看|