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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? imake.c

?? 遠程桌面連接工具
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* $TOG: imake.c /main/97 1997/06/20 20:23:51 kaleb $ *//*************************************************************************** *                                                                         * *                                Porting Note                             * *                                                                         * * Add the value of BOOTSTRAPCFLAGS to the cpp_argv table so that it will  * * be passed to the template file.                                         * *                                                                         * ***************************************************************************//* $XFree86: xc/config/imake/imake.c,v 3.13.2.16 1998/03/01 00:34:54 dawes Exp $ *//* * Copyright (c) 1985, 1986, 1987  X ConsortiumPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THEX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER INAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the name of the X Consortium shall not beused in advertising or otherwise to promote the sale, use or other dealingsin this Software without prior written authorization from the X Consortium. *  * Original Author: *	Todd Brunhoff *	Tektronix, inc. *	While a guest engineer at Project Athena, MIT * * imake: the include-make program. * * Usage: imake [-Idir] [-Ddefine] [-T template] [-f imakefile ] [-C Imakefile.c ] [-s] [-e] [-v] [make flags] * * Imake takes a template file (Imake.tmpl) and a prototype (Imakefile) * and runs cpp on them producing a Makefile.  It then optionally runs make * on the Makefile. * Options: *		-D	define.  Same as cpp -D argument. *		-I	Include directory.  Same as cpp -I argument. *		-T	template.  Designate a template other *			than Imake.tmpl *		-f	specify the Imakefile file *		-C	specify the name to use instead of Imakefile.c *		-s[F]	show.  Show the produced makefile on the standard *			output.  Make is not run is this case.  If a file *			argument is provided, the output is placed there. *              -e[F]   execute instead of show; optionally name Makefile F *		-v	verbose.  Show the make command line executed. * * Environment variables: *		 *		IMAKEINCLUDE	Include directory to use in addition to "." *		IMAKECPP	Cpp to use instead of /lib/cpp *		IMAKEMAKE	make program to use other than what is *				found by searching the $PATH variable. * Other features: *	imake reads the entire cpp output into memory and then scans it *	for occurences of "@@".  If it encounters them, it replaces it with *	a newline.  It also trims any trailing white space on output lines *	(because make gets upset at them).  This helps when cpp expands *	multi-line macros but you want them to appear on multiple lines. *	It also changes occurences of "XCOMM" to "#", to avoid problems *	with treating commands as invalid preprocessor commands. * *	The macros MAKEFILE and MAKE are provided as macros *	to make.  MAKEFILE is set to imake's makefile (not the constructed, *	preprocessed one) and MAKE is set to argv[0], i.e. the name of *	the imake program. * * Theory of operation: *   1. Determine the name of the imakefile from the command line (-f) *	or from the content of the current directory (Imakefile or imakefile). *	Call this <imakefile>.  This gets added to the arguments for *	make as MAKEFILE=<imakefile>. *   2. Determine the name of the template from the command line (-T) *	or the default, Imake.tmpl.  Call this <template> *   3. Determine the name of the imakeCfile from the command line (-C) *	or the default, Imakefile.c.  Call this <imakeCfile> *   4. Store lines of input into <imakeCfile>: *	- A c-style comment header (see ImakefileCHeader below), used *	  to recognize temporary files generated by imake. *	- If DEFAULT_OS_NAME is defined, format the utsname struct and *	  call the result <defaultOsName>.  Add: *		#define DefaultOSName <defaultOsName> *	- If DEFAULT_OS_MAJOR_REV is defined, format the utsname struct *	  and call the result <defaultOsMajorVersion>.  Add: *		#define DefaultOSMajorVersion <defaultOsMajorVersion> *	- If DEFAULT_OS_MINOR_REV is defined, format the utsname struct *	  and call the result <defaultOsMinorVersion>.  Add: *		#define DefaultOSMinorVersion <defaultOsMinorVersion> *	- If DEFAULT_OS_TEENY_REV is defined, format the utsname struct *	  and call the result <defaultOsTeenyVersion>.  Add: *		#define DefaultOSTeenyVersion <defaultOsTeenyVersion> *      - If DEFAULT_MACHINE_ARCITECTURE is defined, format the utsname struct *        and define the corresponding macro. (For example on the amiga, *        this will define amiga in addition to m68k).     *	- If the file "localdefines" is readable in the current *	  directory, print a warning message to stderr and add:  *		#define IMAKE_LOCAL_DEFINES	"localdefines" *		#include IMAKE_LOCAL_DEFINES *	- If the file "admindefines" is readable in the current *	  directory, print a warning message to stderr and add:  *		#define IMAKE_ADMIN_DEFINES	"admindefines" *		#include IMAKE_ADMIN_DEFINES *	- The following lines: *		#define INCLUDE_IMAKEFILE	< <imakefile> > *		#define IMAKE_TEMPLATE		" <template> " *		#include IMAKE_TEMPLATE *	- If the file "adminmacros" is readable in the current *	  directory, print a warning message to stderr and add:  *		#define IMAKE_ADMIN_MACROS	"adminmacros" *		#include IMAKE_ADMIN_MACROS *	- If the file "localmacros" is readable in the current *	  directory, print a warning message to stderr and add:  *		#define IMAKE_LOCAL_MACROS	"localmacros" *		#include IMAKE_LOCAL_MACROS *   5. Start up cpp and provide it with this file. *	Note that the define for INCLUDE_IMAKEFILE is intended for *	use in the template file.  This implies that the imake is *	useless unless the template file contains at least the line *		#include INCLUDE_IMAKEFILE *   6. Gather the output from cpp, and clean it up, expanding @@ to *	newlines, stripping trailing white space, cpp control lines, *	and extra blank lines, and changing XCOMM to #.  This cleaned *	output is placed in a new file, default "Makefile", but can *	be specified with -s or -e options. *   7. Optionally start up make on the resulting file. * * The design of the template makefile should therefore be: *	<set global macros like CFLAGS, etc.> *	<include machine dependent additions> *	#include INCLUDE_IMAKEFILE *	<add any global targets like 'clean' and long dependencies> */#if defined(__FreeBSD__) || defined(__NetBSD__)/* This needs to be before _POSIX_SOURCE gets defined */# include <sys/param.h># include <sys/types.h># include <sys/sysctl.h>#endif#include <stdio.h>#include "Xosdefs.h"#ifndef X_NOT_STDC_ENV#include <string.h>#endif#include <ctype.h>#ifdef WIN32# include "Xw32defs.h"#endif#ifndef X_NOT_POSIX# ifndef _POSIX_SOURCE#  define _POSIX_SOURCE# endif#endif#include <sys/types.h>#include <fcntl.h>#ifdef X_NOT_POSIX# ifndef WIN32#  include <sys/file.h># endif#else# include <unistd.h>#endif#ifdef ISC# include <unistd.h>#endif#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)# include <signal.h>#else# define _POSIX_SOURCE# include <signal.h># undef _POSIX_SOURCE#endif#if !defined(SIGCHLD) && defined(SIGCLD)# define SIGCHLD		SIGCLD#endif#include <sys/stat.h>#ifndef X_NOT_POSIX# ifdef _POSIX_SOURCE#  ifdef SCO325#   include <sys/procset.h>#   include <sys/siginfo.h>#  endif#  include <sys/wait.h># else#  define _POSIX_SOURCE#  include <sys/wait.h>#  undef _POSIX_SOURCE# endif# define waitCode(w)	WEXITSTATUS(w)# define waitSig(w)	WTERMSIG(w)typedef int		waitType;#else /* X_NOT_POSIX */# ifdef SYSV#  define waitCode(w)	(((w) >> 8) & 0x7f)#  define waitSig(w)	((w) & 0xff)typedef int		waitType;# else /* SYSV */#  ifdef WIN32#   include <process.h>typedef int		waitType;#  else#   include <sys/wait.h>#   define waitCode(w)	((w).w_T.w_Retcode)#   define waitSig(w)	((w).w_T.w_Termsig)typedef union wait	waitType;#  endif# endif# ifndef WIFSIGNALED#  define WIFSIGNALED(w) waitSig(w)# endif# ifndef WIFEXITED#  define WIFEXITED(w) waitCode(w)# endif#endif /* X_NOT_POSIX */#ifndef X_NOT_STDC_ENV# include <stdlib.h>#elsechar *malloc(), *realloc();void exit();#endif#if defined(macII) && !defined(__STDC__)  /* stdlib.h fails to define these */char *malloc(), *realloc();#endif /* macII */#ifdef X_NOT_STDC_ENVextern char	*getenv();#endif#include <errno.h>#ifdef X_NOT_STDC_ENVextern int	errno;#endif#ifdef __minix_vmd#define USE_FREOPEN		1#endif#if !(defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4)) || defined(macII))#define USE_STRERROR		1#endif#ifdef __EMX__#define USE_STRERROR		1#endif#ifndef WIN32#include <sys/utsname.h>#endif#ifndef SYS_NMLN# ifdef _SYS_NMLN#  define SYS_NMLN _SYS_NMLN# else#  define SYS_NMLN 257# endif#endif#ifdef linux#include <limits.h>#endif/*  * is strstr() in <strings.h> on X_NOT_STDC_ENV?  * are there any X_NOT_STDC_ENV machines left in the world? */#include <string.h>#include "imakemdep.h"/* * This define of strerror is copied from (and should be identical to) * Xos.h, which we don't want to include here for bootstrapping reasons. */#ifndef USE_STRERROR# ifndef strerrorextern char *sys_errlist[];extern int sys_nerr;#  define strerror(n) \    (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error")# endif#endif#define	TRUE		1#define	FALSE		0#ifdef FIXUP_CPP_WHITESPACEint	InRule = FALSE;# ifdef INLINE_SYNTAXint	InInline = 0;# endif#endif#ifdef MAGIC_MAKE_VARSint xvariable = 0;int xvariables[10];#endif/* * Some versions of cpp reduce all tabs in macro expansion to a single * space.  In addition, the escaped newline may be replaced with a * space instead of being deleted.  Blech. */#ifdef FIXUP_CPP_WHITESPACEvoid KludgeOutputLine(), KludgeResetRule();#else# define KludgeOutputLine(arg)# define KludgeResetRule()#endiftypedef	unsigned char	boolean;#ifdef USE_CC_E# ifndef DEFAULT_CC#  define DEFAULT_CC "cc"# endif#else# ifndef DEFAULT_CPP#  ifdef CPP_PROGRAM#   define DEFAULT_CPP CPP_PROGRAM#  else#   define DEFAULT_CPP "/lib/cpp"#  endif# endif#endifchar *cpp = NULL;char	*tmpMakefile    = "/tmp/Imf.XXXXXX";char	*tmpImakefile    = "/tmp/IIf.XXXXXX";char	*make_argv[ ARGUMENTS ] = {#ifdef WIN32    "nmake"#else    "make"#endif};int	make_argindex;int	cpp_argindex;char	*Imakefile = NULL;char	*Makefile = "Makefile";char	*Template = "Imake.tmpl";char	*ImakefileC = "Imakefile.c";boolean haveImakefileC = FALSE;char	*cleanedImakefile = NULL;char	*program;char	*FindImakefile();char	*ReadLine();char	*CleanCppInput();char	*Strdup();char	*Emalloc();void	LogFatalI(), LogFatal(), LogMsg();void	showit();void	wrapup();void	init();void	AddMakeArg();void	AddCppArg();void	SetOpts();void	CheckImakefileC();void	cppit();void	makeit();void	CleanCppOutput();boolean	isempty();void	writetmpfile();boolean	verbose = FALSE;boolean	show = TRUE;intmain(argc, argv)	int	argc;	char	**argv;{	FILE	*tmpfd;	char	makeMacro[ BUFSIZ ];	char	makefileMacro[ BUFSIZ ];	program = argv[0];	init();	SetOpts(argc, argv);	Imakefile = FindImakefile(Imakefile);	CheckImakefileC(ImakefileC);	if (Makefile)		tmpMakefile = Makefile;	else {		tmpMakefile = Strdup(tmpMakefile);		(void) mktemp(tmpMakefile);	}	AddMakeArg("-f");	AddMakeArg( tmpMakefile );	sprintf(makeMacro, "MAKE=%s", program);	AddMakeArg( makeMacro );	sprintf(makefileMacro, "MAKEFILE=%s", Imakefile);	AddMakeArg( makefileMacro );	if ((tmpfd = fopen(tmpMakefile, "w+")) == NULL)		LogFatal("Cannot create temporary file %s.", tmpMakefile);	cleanedImakefile = CleanCppInput(Imakefile);	cppit(cleanedImakefile, Template, ImakefileC, tmpfd, tmpMakefile);	if (show) {		if (Makefile == NULL)			showit(tmpfd);	} else		makeit();	wrapup();	exit(0);}voidshowit(fd)	FILE	*fd;{	char	buf[ BUFSIZ ];	int	red;	fseek(fd, 0, 0);	while ((red = fread(buf, 1, BUFSIZ, fd)) > 0)		writetmpfile(stdout, buf, red, "stdout");	if (red < 0)	    LogFatal("Cannot read %s.", tmpMakefile);}voidwrapup(){	if (tmpMakefile != Makefile)		unlink(tmpMakefile);	if (cleanedImakefile && cleanedImakefile != Imakefile)		unlink(cleanedImakefile);	if (haveImakefileC)		unlink(ImakefileC);}#ifdef SIGNALRETURNSINTint#elsevoid#endifcatch(sig)	int	sig;{	errno = 0;	LogFatalI("Signal %d.", sig);}/* * Initialize some variables. */voidinit(){	register char	*p;	make_argindex=0;	while (make_argv[ make_argindex ] != NULL)		make_argindex++;	cpp_argindex = 0;	while (cpp_argv[ cpp_argindex ] != NULL)		cpp_argindex++;	/*	 * See if the standard include directory is different than	 * the default.  Or if cpp is not the default.  Or if the make	 * found by the PATH variable is not the default.	 */	if (p = getenv("IMAKEINCLUDE")) {		if (*p != '-' || *(p+1) != 'I')			LogFatal("Environment var IMAKEINCLUDE %s",				"must begin with -I");		AddCppArg(p);		for (; *p; p++)			if (*p == ' ') {				*p++ = '\0';				AddCppArg(p);			}	}	if (p = getenv("IMAKECPP"))		cpp = p;	if (p = getenv("IMAKEMAKE"))		make_argv[0] = p;	if (signal(SIGINT, SIG_IGN) != SIG_IGN)		signal(SIGINT, catch);#ifdef SIGCHLD	signal(SIGCHLD, SIG_DFL);#endif}voidAddMakeArg(arg)	char	*arg;{	errno = 0;	if (make_argindex >= ARGUMENTS-1)		LogFatal("Out of internal storage.", "");	make_argv[ make_argindex++ ] = arg;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
无码av中文一区二区三区桃花岛| 亚洲一区二区三区四区在线| 韩国毛片一区二区三区| 欧美精品1区2区3区| 亚洲精品一区二区精华| 精品日产卡一卡二卡麻豆| 亚洲高清在线精品| 日韩免费性生活视频播放| 久久成人免费电影| 亚洲色图丝袜美腿| 欧美日韩dvd在线观看| 久久不见久久见免费视频7| 国产免费成人在线视频| 色婷婷亚洲一区二区三区| 亚洲电影一级片| 国产免费久久精品| 日韩三级精品电影久久久| 久久精品99国产国产精| 久久久91精品国产一区二区三区| 一本大道av一区二区在线播放| 亚洲成人免费电影| 亚洲女同女同女同女同女同69| 91精品国产手机| 欧美视频在线观看一区二区| 国产91对白在线观看九色| 亚洲v精品v日韩v欧美v专区| 国产精品天干天干在线综合| 日韩欧美国产一区二区三区| 色婷婷一区二区三区四区| 国产馆精品极品| 国产永久精品大片wwwapp| 婷婷综合在线观看| 亚洲一区二区偷拍精品| 一区二区三区自拍| 亚洲欧美一区二区三区极速播放| 精品国产亚洲在线| 久久免费美女视频| 久久色视频免费观看| 欧美变态tickle挠乳网站| 欧美另类videos死尸| 欧美一级搡bbbb搡bbbb| 欧美一区二区福利在线| 日韩欧美国产一区二区在线播放 | 国产成人精品亚洲午夜麻豆| 欧美韩日一区二区三区四区| 国产女主播一区| 亚洲你懂的在线视频| 一区二区激情视频| 日韩激情av在线| 粉嫩aⅴ一区二区三区四区 | 国内精品伊人久久久久av影院| 久久精品久久精品| 国产69精品久久久久777| av在线不卡免费看| 在线观看视频一区二区| 欧美日韩视频专区在线播放| 日韩精品一区二| 国产精品免费久久| 日韩av电影免费观看高清完整版| 国产在线精品一区在线观看麻豆| 9l国产精品久久久久麻豆| 538在线一区二区精品国产| 国产日韩v精品一区二区| 91麻豆国产精品久久| 丰满少妇久久久久久久| 欧美高清精品3d| 一区二区在线看| 国产一区91精品张津瑜| 欧美一级日韩不卡播放免费| 1区2区3区欧美| 成人午夜电影小说| 国产亚洲欧美激情| 国产精品一区专区| 欧美videos中文字幕| 免费在线看一区| 日韩午夜激情电影| 久久精品国产精品亚洲红杏| 欧美疯狂做受xxxx富婆| 视频一区在线播放| 91精品国产91久久久久久最新毛片| 亚洲主播在线播放| 欧美一区二区三区免费| 亚洲超碰精品一区二区| 91片黄在线观看| 亚洲高清视频在线| 欧美一区二区日韩一区二区| 久久国产尿小便嘘嘘| 成人久久18免费网站麻豆| 欧美美女直播网站| 亚洲成人动漫精品| 久久久久国产精品麻豆| 高清久久久久久| 亚洲国产精品尤物yw在线观看| 在线播放视频一区| 国产成人精品三级| 三级不卡在线观看| 国产女人aaa级久久久级| 欧美日韩一区二区三区视频 | 国产精品久久久久影院亚瑟| 色综合网站在线| 国产一区二区三区日韩| 一区二区三区丝袜| 国产精品久久久久久久久快鸭| 欧美日韩亚洲高清一区二区| 成人高清视频免费观看| 蜜桃精品在线观看| 亚洲va欧美va天堂v国产综合| 久久久久国产精品麻豆| 日韩欧美一区电影| 欧美日韩在线直播| 色av综合在线| 在线精品视频一区二区| 成人午夜在线视频| 成人av网站在线| 久久国产综合精品| 国产成人综合亚洲网站| 免费精品视频在线| 免费日本视频一区| 久久99精品国产麻豆婷婷| 亚洲国产日韩综合久久精品| 亚洲夂夂婷婷色拍ww47| 亚洲成人免费av| 蜜臀av一区二区| 国产激情一区二区三区| 国产精品一卡二| 成人网页在线观看| 色系网站成人免费| 欧美一区二区三区免费在线看| 91精品国产综合久久精品app| 911精品国产一区二区在线| 日韩一区二区视频| 日本一二三四高清不卡| 亚洲精品国产一区二区精华液| 一区二区在线观看免费| 免费日韩伦理电影| 色老汉av一区二区三区| 色八戒一区二区三区| 国产成人日日夜夜| 色婷婷av久久久久久久| 欧美区在线观看| 国产精品免费视频网站| 天天影视涩香欲综合网| 不卡一二三区首页| 日韩一区二区三区在线观看| 成人欧美一区二区三区白人 | 国产91在线看| 欧美一区二区三区色| 一区二区三区久久| 91首页免费视频| 2019国产精品| 日本伊人色综合网| 欧美午夜电影一区| 亚洲天堂av老司机| 北条麻妃一区二区三区| 国产清纯白嫩初高生在线观看91 | 精品一区二区三区免费视频| 日本道色综合久久| 亚洲视频一区二区在线| 福利一区二区在线| 国产精品麻豆一区二区| 国产91高潮流白浆在线麻豆| 国产日韩欧美a| av电影在线不卡| 亚洲欧美区自拍先锋| 91福利小视频| 亚洲国产视频一区二区| 91精品中文字幕一区二区三区| 偷拍与自拍一区| 2023国产精品| 99这里只有久久精品视频| 亚洲视频电影在线| 正在播放一区二区| 国产馆精品极品| 亚洲成人av中文| 精品区一区二区| 一本久久综合亚洲鲁鲁五月天| 亚洲综合精品自拍| 久久免费视频一区| 色丁香久综合在线久综合在线观看| 亚洲高清免费观看高清完整版在线观看| 欧美午夜精品电影| 成人av资源下载| 久久精品国产99久久6| 国产精品久久久久桃色tv| 99视频国产精品| 国产精品久线在线观看| 欧美视频中文字幕| 成av人片一区二区| 国产高清在线精品| 另类小说图片综合网| 亚洲欧美aⅴ...| 中文字幕中文字幕中文字幕亚洲无线| 欧美精品第1页| 色88888久久久久久影院野外| 国产乱人伦偷精品视频免下载| 日本中文字幕一区| 性感美女久久精品| 亚洲成av人片在线观看无码| 亚洲精品一卡二卡| 亚洲综合999|