⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jambase.c

📁 jam源码
💻 C
📖 第 1 页 / 共 2 页
字号:
"HDRRULE on $(>) = HdrRule ;\n","HDRSCAN on $(>) = $(HDRPATTERN) ;\n","HDRSEARCH on $(>) = \n","$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;\n","HDRGRIST on $(>) = $(HDRGRIST) ;\n","DEFINES on $(<) += $(DEFINES) ;\n","switch $(>:S)\n","{\n","case .asm : As $(<) : $(>) ;\n","case .c :	Cc $(<) : $(>) ;\n","case .C :	C++ $(<) : $(>) ;\n","case .cc :	C++ $(<) : $(>) ;\n","case .cpp : C++ $(<) : $(>) ;\n","case .f :	Fortran $(<) : $(>) ;\n","case .l :	Cc $(<) : $(<:S=.c) ;\n","Lex $(<:S=.c) : $(>) ;\n","case .s :	As $(<) : $(>) ;\n","case .y :	Cc $(<) : $(<:S=$(YACCGEN)) ;\n","Yacc $(<:S=$(YACCGEN)) : $(>) ;\n","case * :	UserObject $(<) : $(>) ;\n","}\n","}\n","rule ObjectCcFlags\n","{\n","CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n","}\n","rule ObjectC++Flags\n","{\n","C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n","}\n","rule ObjectDefines\n","{\n","local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;\n","DEFINES on $(s) += $(>) ;\n","CCDEFS on $(s) = [ on $(s) FDefines $(DEFINES) ] ;\n","}\n","rule ObjectHdrs\n","{\n","local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;\n","HDRS on $(s) += $(>) ;\n","CCHDRS on $(s) = [ on $(s) FIncludes $(HDRS) ] ;\n","}\n","rule Objects\n","{\n","local _i ;\n","for _i in [ FGristFiles $(<) ]\n","{\n","Object $(_i:S=$(SUFOBJ)) : $(_i) ;\n","Depends obj : $(_i:S=$(SUFOBJ)) ;\n","}\n","}\n","rule RmTemps\n","{\n","Temporary $(>) ;\n","}\n","rule Setuid\n","{\n","MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;\n","}\n","rule Shell\n","{\n","Depends shell : $(<) ;\n","Depends $(<) : $(>) ;\n","SEARCH on $(>) = $(SEARCH_SOURCE) ;\n","MODE on $(<) = $(SHELLMODE) ;\n","Clean clean : $(<) ;\n","Chmod $(<) ;\n","}\n","rule SoftLink\n","{\n","Depends files : $(<) ;\n","Depends $(<) : $(>) ;\n","SEARCH on $(>) = $(SEARCH_SOURCE) ;\n","Clean clean : $(<) ;\n","}\n","rule SubDir\n","{\n","local _top = $(<[1]) ;\n","local _tokens = $(<[2-]) ;\n","if ! $(_top)\n","{\n","Exit SubDir syntax error ;\n","}\n","if ! $($(_top)-SET)\n","{\n","$(_top)-SET = true ;\n","if $($(_top))\n","{\n","$(_top)-UP = ;\n","$(_top)-DOWN = ;\n","$(_top)-ROOT = $($(_top)) ;\n","}\n","else\n","{\n","_tokens = [ FReverse $(_tokens) ] ;\n","SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;\n","FStripCommon _tokens : SUBDIR_DOWN ;\n","SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;\n","_tokens = [ FReverse $(_tokens) ] ;\n","if $(SUBDIR_DOWN) && $(_tokens) \n","{ \n","Echo Warning: SubDir $(<) misplaced! ; \n","}\n","$(_top)-UP = $(SUBDIR_UP) $(_tokens) ;\n","$(_top)-DOWN = $(SUBDIR_DOWN) ;\n","$(_top)-ROOT = $(SUBDIR_ROOT:E=\"\") ;\n","$(_top) = [ FSubDirPath $(_top) ] ;\n","}\n","SUBDIR_UP = $($(_top)-UP) ;\n","SUBDIR_DOWN = ;\n","SUBDIR_ROOT = $($(_top)-ROOT) ;\n","if $($(_top)RULES) { \n","include $($(_top)RULES) ;\n","} else { \n","NoCare $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n","include $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n","}\n","}\n","SUBDIR_UP = $($(_top)-UP) ;\n","SUBDIR_DOWN = $($(_top)-DOWN) $(_tokens) ;\n","SUBDIR_ROOT = $($(_top)-ROOT) ;\n","SUBDIR_TOKENS = $(SUBDIR_DOWN) ;\n","SUBDIR = [ FSubDirPath $(<) ] ;\n","SEARCH_SOURCE = $(SUBDIR) ;\n","LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n","LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n","SOURCE_GRIST = [ FGrist $(SUBDIR_TOKENS) ] ;\n","SUBDIR$(SUBDIRRESET) = ;\n","$(SUBDIRRULES) $(<) ;\n","}\n","rule FSubDirPath\n","{\n","local _r = [ FRelPath $($(<[1])-UP) : $($(<[1])-DOWN) $(<[2-]) ] ;\n","return $(_r:R=$($(<[1])-ROOT)) ;\n","}\n","rule SubDirCcFlags\n","{\n","SUBDIRCCFLAGS += $(<) ;\n","}\n","rule SubDirC++Flags\n","{\n","SUBDIRC++FLAGS += $(<) ;\n","}\n","rule SubDirHdrs\n","{\n","SUBDIRHDRS += [ FDirName $(<) ] ;\n","}\n","rule SubInclude\n","{\n","if ! $($(<[1]))\n","{\n","Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;\n","}\n","SubDir $(<) ;\n","include $(JAMFILE:D=$(SUBDIR)) ;\n","}\n","rule SubRules\n","{\n","if ! $($(<[1]))\n","{\n","Exit SubRules $(<[1]) without prior SubDir $(<[1]) ;\n","}\n","SubDir $(<) ;\n","SubDir $(>) ;\n","}\n","rule Undefines\n","{\n","UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;\n","}\n","rule UserObject\n","{\n","Exit \"Unknown suffix on\" $(>) \"- see UserObject rule in Jamfile(5).\" ;\n","}\n","rule Yacc\n","{\n","local _h ;\n","_h = $(<:BS=.h) ;\n","MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n","if $(YACC)\n","{\n","Depends $(<) $(_h) : $(>) ;\n","Yacc1 $(<) $(_h) : $(>) ;\n","YaccMv $(<) $(_h) : $(>) ;\n","Clean clean : $(<) $(_h) ;\n","}\n","Includes $(<) : $(_h) ;\n","}\n","rule FGrist\n","{\n","return $(<:J=!) ;\n","}\n","rule FGristFiles \n","{\n","return $(<:G=$(SOURCE_GRIST:E)) ;\n","}\n","rule FGristSourceFiles\n","{\n","if ! $(SOURCE_GRIST)\n","{\n","return $(<) ;\n","}\n","else \n","{\n","local _i _o ;\n","for _i in $(<)\n","{\n","switch $(_i)\n","{\n","case *.h :	_o += $(_i) ;\n","case * : 	_o += $(_i:G=$(SOURCE_GRIST)) ;\n","}\n","}\n","return $(_o) ;\n","}\n","}\n","rule FReverse \n","{\n","if $(1) { return [ FReverse $(1[2-]) ] $(1[1]) ; }\n","}\n","rule FSubDir\n","{\n","if ! $(<[1]) \n","{\n","return $(DOT) ;\n","} \n","else\n","{\n","local _i _d ;\n","_d = $(DOTDOT) ;\n","for _i in $(<[2-])\n","{\n","_d = $(_d:R=$(DOTDOT)) ;\n","}\n","return $(_d) ;\n","}\n","}\n","rule FStripCommon\n","{\n","if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n","{\n","$(<) = $($(<)[2-]) ;\n","$(>) = $($(>)[2-]) ;\n","FStripCommon $(<) : $(>) ;\n","}\n","}\n","rule FRelPath\n","{\n","local _l _r ;\n","_l = $(<) ;\n","_r = $(>) ;\n","FStripCommon _l : _r ;\n","_l = [ FSubDir $(_l) ] ;\n","_r = [ FDirName $(_r) ] ;\n","if $(_r) = $(DOT) {\n","return $(_l) ;\n","} else {\n","return $(_r:R=$(_l)) ;\n","}\n","}\n","rule FAppendSuffix\n","{\n","if $(>)\n","{\n","local _i _o ;\n","for _i in $(<)\n","{\n","if $(_i:S)\n","{\n","_o += $(_i) ;\n","}\n","else\n","{\n","_o += $(_i:S=$(>)) ;\n","}\n","}\n","return $(_o) ;\n","}\n","else\n","{\n","return $(<) ;\n","}\n","}\n","rule FQuote { return \\\\\\\"$(<)\\\\\\\" ; }\n","rule FDefines { return -D$(<) ; }\n","rule FIncludes { return -I$(<) ; }\n","rule FDirName\n","{\n","local _i ;\n","local _s = $(DOT) ;\n","for _i in $(<)\n","{\n","_s = $(_i:R=$(_s)) ;\n","}\n","return $(_s) ;\n","}\n","if $(OS2)\n","{\n","rule FQuote { return \\\"$(<)\\\" ; }\n","rule FIncludes { return /I$(<) ; }\n","}\n","else if $(NT)\n","{\n","rule FDefines { return /D$(<) ; }\n","rule FIncludes { return /I$(<) ; }\n","}\n","else if $(MAC)\n","{\n","rule FQuote { return \\\"$(<)\\\" ; }\n","rule FDefines { return \"-define '$(<)'\" ; }\n","rule FIncludes { return \\\"$(<:J=,)\\\" ; }\n","}\n","else if $(VMS)\n","{\n","rule FQuote { return \\\"\\\"\\\"$(<)\\\"\\\"\\\" ; }\n","rule FDefines { return \"/define=( $(<:J=,) )\" ; }\n","rule FIncludes { return \"/inc=( $(<:J=,) )\" ; }\n","rule FDirName\n","{\n","local _s _i ;\n","if ! $(<)\n","{\n","_s = $(DOT) ;\n","}\n","else \n","{\n","switch $(<[1])\n","{\n","case *:* : _s = $(<[1]) ;\n","case \\\\[*\\\\] : _s = $(<[1]) ;\n","case * : _s = [.$(<[1])] ;\n","}\n","for _i in [.$(<[2-])]\n","{\n","_s = $(_i:R=$(_s)) ;\n","}\n","}\n","return $(_s) ;\n","}\n","}\n","actions updated together piecemeal Archive\n","{\n","$(AR) $(<) $(>)\n","}\n","actions As\n","{\n","$(AS) $(ASFLAGS) $(ASHDRS) -o $(<) $(>)\n","}\n","actions C++\n","{\n","$(C++) -c -o $(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions Cc\n","{\n","$(CC) -c -o $(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions Chgrp\n","{\n","$(CHGRP) $(GROUP) $(<)\n","}\n","actions Chmod1\n","{\n","$(CHMOD) $(MODE) $(<)\n","}\n","actions Chown\n","{\n","$(CHOWN) $(OWNER) $(<)\n","}\n","actions piecemeal together existing Clean\n","{\n","$(RM) $(>)\n","}\n","actions File\n","{\n","$(CP) $(>) $(<)\n","}\n","actions GenFile1\n","{\n","$(>[1]) $(<) $(>[2-])\n","}\n","actions Fortran\n","{\n","$(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)\n","}\n","actions HardLink\n","{\n","$(RM) $(<) && $(LN) $(>) $(<)\n","}\n","actions Install\n","{\n","$(CP) $(>) $(<) \n","}\n","actions Lex\n","{\n","$(LEX) $(>)\n","}\n","actions LexMv\n","{\n","$(MV) lex.yy.c $(<)\n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS) \n","}\n","actions MkDir1\n","{\n","$(MKDIR) $(<)\n","}\n","actions together Ranlib\n","{\n","$(RANLIB) $(<)\n","}\n","actions quietly updated piecemeal together RmTemps\n","{\n","$(RM) $(>)\n","}\n","actions Shell\n","{\n","$(AWK) '\n","NR == 1 { print \"$(SHELLHEADER)\" }\n","NR == 1 && /^[#:]/ { next }\n","/^##/ { next }\n","{ print }\n","' < $(>) > $(<)\n","}\n","actions SoftLink\n","{\n","$(RM) $(<) && $(LN) -s $(>) $(<)\n","}\n","actions Yacc1\n","{\n","$(YACC) $(YACCFLAGS) $(>)\n","}\n","actions YaccMv\n","{\n","$(MV) $(YACCFILES).c $(<[1])\n","$(MV) $(YACCFILES).h $(<[2])\n","}\n","if $(RELOCATE)\n","{\n","actions C++\n","{\n","$(C++) -c $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions Cc\n","{\n","$(CC) -c $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions ignore CcMv\n","{\n","[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n","}\n","}\n","if $(NOARUPDATE)\n","{\n","actions Archive\n","{\n","$(AR) $(<) $(>)\n","}\n","}\n","if $(UNIX)\n","{\n","actions GenFile1\n","{\n","PATH=\"$PATH:.\"\n","$(>[1]) $(<) $(>[2-])\n","}\n","}\n","if $(NT) && $(MSVCNT)\n","{\n","actions updated together piecemeal Archive\n","{\n","if exist $(<) set _$(<:B)_=$(<)\n","$(AR) /out:$(<) %_$(<:B)_% $(>)\n","}\n","actions As\n","{\n","$(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;\n","}\n","actions Cc\n","{\n","$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) /I$(STDHDRS) $(>)\n","}\n","actions C++\n","{\n","$(C++) /c /Fo$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /I$(STDHDRS) /Tp$(>)\n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n","}\n","}\n","else if $(NT) && $(MSVC)\n","{\n","actions updated together piecemeal Archive\n","{\n","$(AR) $(<) -+$(>)\n","}\n","actions Cc\n","{\n","$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions C++\n","{\n","$(C++) /c /Fo$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /Tp$(>)\n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n","}\n","}\n","else if $(NT) && $(BCCROOT)\n","{\n","actions updated together piecemeal Archive\n","{\n","$(AR) $(<) -+$(>)\n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n","}\n","actions C++\n","{\n","$(C++) -c -o$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions Cc\n","{\n","$(CC) -c -o$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","}\n","else if $(OS2) && $(WATCOM)\n","{\n","actions together piecemeal Archive\n","{\n","$(AR) $(<) +-$(>) \n","}\n","actions Cc\n","{\n","$(CC) /Fo=$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions C++\n","{\n","$(C++) /Fo=$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n","}\n","actions Shell\n","{\n","$(CP) $(>) $(<)\n","}\n","}\n","else if $(VMS)\n","{\n","actions updated together piecemeal Archive \n","{\n","lib/replace $(<) $(>[1]) ,$(>[2-])\n","}\n","actions Cc\n","{ \n","$(CC)/obj=$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>) \n","}\n","actions C++\n","{ \n","$(C++)/obj=$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>) \n","}\n","actions piecemeal together existing Clean\n","{\n","$(RM) $(>[1]);* ,$(>[2-]);*\n","}\n","actions together quietly CreLib\n","{\n","if f$search(\"$(<)\") .eqs. \"\" then lib/create $(<)\n","}\n","actions GenFile1\n","{\n","mcr $(>[1]) $(<) $(>[2-])\n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK)/exe=$(<) $(LINKFLAGS) $(>:J=,) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n","}\n","actions quietly updated piecemeal together RmTemps\n","{\n","$(RM) $(>[1]);* ,$(>[2-]);*\n","}\n","actions Shell\n","{\n","$(CP) $(>) $(<)\n","}\n","}\n","else if $(MAC)\n","{\n","actions together Archive \n","{\n","$(LINK) -library -o $(<) $(>)\n","}\n","actions Cc\n","{\n","set -e MWCincludes $(CCHDRS)\n","$(CC) -o $(<) $(CCFLAGS) $(CCDEFS) $(>) \n","}\n","actions C++\n","{\n","set -e MWCincludes $(CCHDRS)\n","$(CC) -o $(<) $(C++FLAGS) $(CCDEFS) $(>) \n","}\n","actions Link bind NEEDLIBS\n","{\n","$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n","}\n","}\n","if $(WIN98)\n","{\n","actions existing Clean\n","{\n","del $(>)\n","}\n","}\n","rule BULK { Bulk $(<) : $(>) ; }\n","rule FILE { File $(<) : $(>) ; }\n","rule HDRRULE { HdrRule $(<) : $(>) ; }\n","rule INSTALL { Install $(<) : $(>) ; }\n","rule LIBRARY { Library $(<) : $(>) ; }\n","rule LIBS { LinkLibraries $(<) : $(>) ; }\n","rule LINK { Link $(<) : $(>) ; }\n","rule MAIN { Main $(<) : $(>) ; }\n","rule SETUID { Setuid $(<) ; }\n","rule SHELL { Shell $(<) : $(>) ; }\n","rule UNDEFINES { Undefines $(<) : $(>) ; }\n","rule INSTALLBIN { InstallBin $(BINDIR) : $(<) ; }\n","rule INSTALLLIB { InstallLib $(LIBDIR) : $(<) ; }\n","rule INSTALLMAN { InstallMan $(MANDIR) : $(<) ; }\n","rule addDirName { $(<) += [ FDirName $(>) ] ; }\n","rule makeCommon { FStripCommon $(<) : $(>) ; }\n","rule _makeCommon { FStripCommon $(<) : $(>) ; }\n","rule makeDirName { $(<) = [ FDirName $(>) ] ; }\n","rule makeGrist { $(<) = [ FGrist $(>) ] ; }\n","rule makeGristedName { $(<) = [ FGristSourceFiles $(>) ] ; }\n","rule makeRelPath { $(<[1]) = [ FRelPath $(<[2-]) : $(>) ] ; }\n","rule makeString { $(<) = $(>:J) ; }\n","rule makeSubDir { $(<) = [ FSubDir $(>) ] ; }\n","rule makeSuffixed { $(<[1]) = [ FAppendSuffix $(>) : $(<[2]) ] ; }\n","include $(JAMFILE) ;\n",0 };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -