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

📄 jambase.c

📁 C++的一个好库。。。现在很流行
💻 C
📖 第 1 页 / 共 3 页
字号:
"case AMIGA :\n",
"CC          ?= gcc ;\n",
"YACC        ?= \"bison -y\" ;\n",
"case CYGWIN :   \n",
"CC          ?= gcc ;\n",
"CCFLAGS     += -D__cygwin__ ;\n",
"LEX         ?= flex ;\n",
"RANLIB      ?= \"\" ;\n",
"SUFEXE      ?= .exe ;\n",
"YACC        ?= \"bison -y\" ;\n",
"case DGUX :\n",
"RANLIB      ?= \"\" ;\n",
"RELOCATE    ?= true ;\n",
"case HPUX :\n",
"YACC        = ;\n",
"CFLAGS      += -Ae ;\n",
"CCFLAGS     += -Ae ;\n",
"RANLIB      ?= \"\" ;\n",
"case INTERIX :\n",
"CC          ?= gcc ;\n",
"RANLIB      ?= \"\" ;\n",
"case IRIX :\n",
"RANLIB      ?= \"\" ;\n",
"case MPEIX :\n",
"CC          ?= gcc ;\n",
"C++         ?= gcc ;\n",
"CCFLAGS     += -D_POSIX_SOURCE ;\n",
"HDRS        += /usr/include ;\n",
"RANLIB      ?= \"\" ; \n",
"NOARSCAN    ?= true ;\n",
"NOARUPDATE  ?= true ;\n",
"case MVS :\n",
"RANLIB      ?= \"\" ; \n",
"case NEXT :\n",
"AR          ?= libtool -o ;\n",
"RANLIB      ?= \"\" ;\n",
"case MACOSX :\n",
"AR          ?= libtool -o ;\n",
"C++         ?= c++ ;\n",
"MANDIR      ?= /usr/local/share/man ;\n",
"RANLIB      ?= \"\" ;\n",
"case NCR :\n",
"RANLIB      ?= \"\" ;\n",
"case PTX :\n",
"RANLIB      ?= \"\" ;\n",
"case QNX :\n",
"AR          ?= wlib ;\n",
"CC          ?= cc ;\n",
"CCFLAGS     ?= -Q ; # quiet\n",
"C++         ?= $(CC) ;\n",
"C++FLAGS    ?= -Q ; # quiet\n",
"LINK        ?= $(CC) ;\n",
"LINKFLAGS   ?= -Q ; # quiet\n",
"NOARSCAN    ?= true ;\n",
"RANLIB      ?= \"\" ;\n",
"case SCO :\n",
"RANLIB      ?= \"\" ;\n",
"RELOCATE    ?= true ;\n",
"case SINIX :\n",
"RANLIB      ?= \"\" ;\n",
"case SOLARIS :\n",
"RANLIB      ?= \"\" ;\n",
"AR          ?= \"/usr/ccs/bin/ar ru\" ;\n",
"case UNICOS :\n",
"NOARSCAN    ?= true ;\n",
"OPTIM       ?= -O0 ;\n",
"case UNIXWARE :\n",
"RANLIB      ?= \"\" ;\n",
"RELOCATE    ?= true ;\n",
"}\n",
"CCFLAGS     ?= ;\n",
"C++FLAGS    ?= $(CCFLAGS) ;\n",
"CHMOD       ?= chmod ;\n",
"CHGRP       ?= chgrp ;\n",
"CHOWN       ?= chown ;\n",
"LEX         ?= lex ;\n",
"LINKFLAGS   ?= $(CCFLAGS) ;\n",
"LINKLIBS    ?= ;\n",
"OPTIM       ?= -O ;\n",
"RANLIB      ?= ranlib ;\n",
"YACC        ?= yacc ;\n",
"YACCFILES   ?= y.tab ;\n",
"YACCFLAGS   ?= -d ;\n",
"}\n",
"AR          ?= ar ru ;\n",
"AS          ?= as ;\n",
"ASFLAGS     ?= ;\n",
"AWK         ?= awk ;\n",
"BINDIR      ?= /usr/local/bin ;\n",
"C++         ?= cc ;\n",
"C++FLAGS    ?= ;\n",
"CC          ?= cc ;\n",
"CCFLAGS     ?= ;\n",
"CP          ?= cp -f ;\n",
"CRELIB      ?= ;\n",
"DOT         ?= . ;\n",
"DOTDOT      ?= .. ;\n",
"EXEMODE     ?= 711 ;\n",
"FILEMODE    ?= 644 ;\n",
"FORTRAN     ?= f77 ;\n",
"FORTRANFLAGS ?= ;\n",
"HDRS        ?= ;\n",
"INSTALLGRIST ?= installed ;\n",
"JAMFILE     ?= Jamfile ;\n",
"JAMRULES    ?= Jamrules ;\n",
"LEX         ?= ;\n",
"LIBDIR      ?= /usr/local/lib ;\n",
"LINK        ?= $(CC) ;\n",
"LINKFLAGS   ?= ;\n",
"LINKLIBS    ?= ;\n",
"LN          ?= ln ;\n",
"MANDIR      ?= /usr/local/man ;\n",
"MKDIR       ?= mkdir ;\n",
"MV          ?= mv -f ;\n",
"OPTIM       ?= ;\n",
"RCP         ?= rcp ;\n",
"RM          ?= rm -f ;\n",
"RSH         ?= rsh ;\n",
"SED         ?= sed ;\n",
"SHELLHEADER ?= \"#!/bin/sh\" ;\n",
"SHELLMODE   ?= 755 ;\n",
"SLASH       ?= / ;\n",
"STDHDRS     ?= /usr/include ;\n",
"SUFEXE      ?= \"\" ;\n",
"SUFLIB      ?= .a ;\n",
"SUFOBJ      ?= .o ;\n",
"UNDEFFLAG   ?= \"-u _\" ;\n",
"YACC        ?= ;\n",
"YACCFILES   ?= ;\n",
"YACCFLAGS   ?= ;\n",
"HDRPATTERN = \n",
"\"^[     ]*#[    ]*include[  ]*[<\\\"]([^\\\">]*)[\\\">].*$\" ;\n",
"OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n",
"DEPENDS all : shell files lib exe obj ;\n",
"DEPENDS all shell files lib exe obj : first ;\n",
"NOTFILE all first shell files lib exe obj dirs clean uninstall ;\n",
"ALWAYS clean uninstall ;\n",
"rule As\n",
"{\n",
"DEPENDS $(<) : $(>) ;\n",
"ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;\n",
"}\n",
"rule Bulk\n",
"{\n",
"local i ;\n",
"for i in $(>)\n",
"{\n",
"File $(i:D=$(<)) : $(i) ;\n",
"}\n",
"}\n",
"rule Cc\n",
"{\n",
"local _h ;\n",
"DEPENDS $(<) : $(>) ;\n",
"CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;\n",
"if $(RELOCATE)\n",
"{\n",
"CcMv $(<) : $(>) ;\n",
"}\n",
"_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
"if $(VMS) && $(_h)\n",
"{\n",
"SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
"}\n",
"else if $(MAC) && $(_h)\n",
"{\n",
"local _i _j ;\n",
"_j = $(_h[1]) ;\n",
"for _i in $(_h[2-])\n",
"{\n",
"_j = $(_j),$(_i) ;\n",
"}\n",
"MACINC on $(<) = \\\"$(_j)\\\" ;\n",
"}\n",
"}\n",
"rule C++\n",
"{\n",
"local _h ;\n",
"DEPENDS $(<) : $(>) ;\n",
"C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;\n",
"if $(RELOCATE)\n",
"{\n",
"CcMv $(<) : $(>) ;\n",
"}\n",
"_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
"if $(VMS) && $(_h)\n",
"{\n",
"SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
"}\n",
"else if $(MAC) && $(_h)\n",
"{\n",
"local _i _j ;\n",
"_j = $(_h[1]) ;\n",
"for _i in $(_h[2-])\n",
"{\n",
"_j = $(_j),$(_i) ;\n",
"}\n",
"MACINC on $(<) = \\\"$(_j)\\\" ;\n",
"}\n",
"}\n",
"rule Chmod\n",
"{\n",
"if $(CHMOD) { Chmod1 $(<) ; }\n",
"}\n",
"rule File\n",
"{\n",
"DEPENDS files : $(<) ;\n",
"DEPENDS $(<) : $(>) ;\n",
"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
"MODE on $(<) = $(FILEMODE) ;\n",
"Chmod $(<) ;\n",
"}\n",
"rule Fortran\n",
"{\n",
"DEPENDS $(<) : $(>) ;\n",
"}\n",
"rule GenFile \n",
"{\n",
"local _t = [ FGristSourceFiles $(<) ] ;\n",
"local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;\n",
"Depends $(_t) : $(_s) $(>[2-]) ;\n",
"GenFile1 $(_t) : $(_s) $(>[2-]) ;\n",
"Clean clean : $(_t) ;\n",
"}\n",
"rule GenFile1\n",
"{\n",
"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
"}\n",
"rule HardLink\n",
"{\n",
"DEPENDS files : $(<) ;\n",
"DEPENDS $(<) : $(>) ;\n",
"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
"}\n",
"rule HdrMacroFile\n",
"{\n",
"HDRMACRO $(<) ;\n",
"}\n",
"rule HdrRule\n",
"{\n",
"local s ;\n",
"if $(HDRGRIST) \n",
"{ \n",
"s = $(>:G=$(HDRGRIST)) ;\n",
"} else { \n",
"s = $(>) ; \n",
"}\n",
"INCLUDES $(<) : $(s) ;\n",
"SEARCH on $(s) = $(HDRSEARCH) ;\n",
"NOCARE $(s) ;\n",
"HDRSEARCH on $(s) = $(HDRSEARCH) ;\n",
"HDRSCAN on $(s) = $(HDRSCAN) ;\n",
"HDRRULE on $(s) = $(HDRRULE) ;\n",
"HDRGRIST on $(s) = $(HDRGRIST) ;\n",
"}\n",
"rule InstallInto\n",
"{\n",
"local i t ;\n",
"t = $(>:G=$(INSTALLGRIST)) ;\n",
"Depends install : $(t) ;\n",
"Clean uninstall : $(t) ;\n",
"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
"MakeLocate $(t) : $(<) ;\n",
"for i in $(>)\n",
"{\n",
"local tt = $(i:G=$(INSTALLGRIST)) ;\n",
"Depends $(tt) : $(i) ;\n",
"Install $(tt) : $(i) ;\n",
"Chmod $(tt) ;\n",
"if $(OWNER) && $(CHOWN) \n",
"{ \n",
"Chown $(tt) ;\n",
"OWNER on $(tt) = $(OWNER) ;\n",
"}\n",
"if $(GROUP) && $(CHGRP) \n",
"{ \n",
"Chgrp $(tt) ;\n",
"GROUP on $(tt) = $(GROUP) ;\n",
"}\n",
"}\n",
"}\n",
"rule InstallBin\n",
"{\n",
"local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;\n",
"InstallInto $(<) : $(_t) ;\n",
"MODE on $(_t:G=installed) = $(EXEMODE) ;\n",
"}\n",
"rule InstallFile\n",
"{\n",
"InstallInto $(<) : $(>) ;\n",
"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
"}\n",
"rule InstallLib\n",
"{\n",
"InstallInto $(<) : $(>) ;\n",
"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
"}\n",
"rule InstallMan\n",
"{\n",
"local i s d ;\n",
"for i in $(>)\n",
"{\n",
"switch $(i:S)\n",
"{\n",
"case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;\n",
"case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;\n",
"case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;\n",
"case .n : s = n ; case .man : s = 1 ;\n",
"}\n",
"d = man$(s) ;\n",
"InstallInto $(d:R=$(<)) : $(i) ;\n",
"}\n",
"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
"}\n",
"rule InstallShell\n",
"{\n",
"InstallInto $(<) : $(>) ;\n",
"MODE on $(>:G=installed) = $(SHELLMODE) ;\n",
"}\n",
"rule Lex\n",
"{\n",
"LexMv $(<) : $(>) ;\n",
"DEPENDS $(<) : $(>) ;\n",
"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
"Clean clean : $(<) ;\n",
"}\n",
"rule Library\n",
"{\n",
"LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
"Objects $(>) ;\n",
"}\n",
"rule LibraryFromObjects\n",
"{\n",
"local _i _l _s ;\n",
"_s = [ FGristFiles $(>) ] ;\n",
"_l = $(<:S=$(SUFLIB)) ;\n",
"if $(KEEPOBJS)\n",
"{\n",
"DEPENDS obj : $(_s) ;\n",
"}\n",
"else\n",
"{\n",
"DEPENDS lib : $(_l) ;\n",
"}\n",
"if ! $(_l:D)\n",
"{\n",
"MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n",
"}\n",
"if $(NOARSCAN) \n",
"{ \n",
"DEPENDS $(_l) : $(_s) ;\n",
"}\n",
"else\n",
"{\n",
"DEPENDS $(_l) : $(_l)($(_s:BS)) ;\n",
"for _i in $(_s)\n",
"{\n",
"DEPENDS $(_l)($(_i:BS)) : $(_i) ;\n",
"}\n",
"}\n",
"Clean clean : $(_l) ;\n",
"if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }\n",
"Archive $(_l) : $(_s) ;\n",
"if $(RANLIB) { Ranlib $(_l) ; }\n",
"if ! ( $(NOARSCAN) || $(KEEPOBJS) ) { RmTemps $(_l) : $(_s) ; }\n",
"}\n",
"rule Link\n",
"{\n",
"MODE on $(<) = $(EXEMODE) ;\n",
"Chmod $(<) ;\n",
"}\n",
"rule LinkLibraries\n",
"{\n",
"local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
"DEPENDS $(_t) : $(>:S=$(SUFLIB)) ;\n",
"NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;\n",
"}\n",
"rule Main\n",
"{\n",
"MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
"Objects $(>) ;\n",
"}\n",
"rule MainFromObjects\n",
"{\n",
"local _s _t ;\n",
"_s = [ FGristFiles $(>) ] ;\n",
"_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
"if $(_t) != $(<)\n",
"{\n",
"DEPENDS $(<) : $(_t) ;\n",
"NOTFILE $(<) ;\n",
"}\n",
"DEPENDS exe : $(_t) ;\n",
"DEPENDS $(_t) : $(_s) ;\n",
"MakeLocate $(_t) : $(LOCATE_TARGET) ;\n",
"Clean clean : $(_t) ;\n",
"Link $(_t) : $(_s) ;\n",
"}\n",
"rule MakeLocate\n",
"{\n",
"if $(>)\n",
"{\n",
"LOCATE on $(<) = $(>) ;\n",
"Depends $(<) : $(>[1]) ;\n",
"MkDir $(>[1]) ;\n",
"}\n",
"}\n",
"rule MkDir\n",
"{\n",
"NOUPDATE $(<) ;\n",
"if $(<) != $(DOT) && ! $($(<)-mkdir) \n",
"{\n",
"local s ;\n",
"$(<)-mkdir = true ;\n",
"MkDir1 $(<) ;\n",
"Depends dirs : $(<) ;\n",
"s = $(<:P) ;\n",
"if $(NT)\n",
"{\n",
"switch $(s)\n",
"{\n",
"case *:   : s = ;\n",
"case *:\\\\ : s = ;\n",
"}\n",
"}\n",
"if $(s) && $(s) != $(<)\n",
"{\n",
"Depends $(<) : $(s) ;\n",
"MkDir $(s) ;\n",
"}\n",
"else if $(s)\n",
"{\n",
"NOTFILE $(s) ;\n",
"}\n",
"}\n",
"}\n",
"rule Object\n",
"{\n",
"local h ;\n",
"Clean clean : $(<) ;\n",
"MakeLocate $(<) : $(LOCATE_TARGET) ;\n",
"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
"HDRS on $(<) = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
"if $(SEARCH_SOURCE)\n",
"{\n",
"h = $(SEARCH_SOURCE) ;\n",
"}\n",
"else\n",
"{\n",
"h = \"\" ;\n",
"}\n",
"HDRRULE on $(>) = HdrRule ;\n",
"HDRSCAN on $(>) = $(HDRPATTERN) ;\n",
"HDRSEARCH on $(>) = $(HDRS) $(SUBDIRHDRS) $(h) $(STDHDRS) ;\n",
"HDRGRIST on $(>) = $(HDRGRIST) ;\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=.c) ;\n",
"Yacc $(<:S=.c) : $(>) ;\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 ObjectHdrs\n",
"{\n",
"HDRS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\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 SubDir\n",
"{\n",
"local _r _s ;\n",
"if ! $($(<[1]))\n",
"{\n",
"if ! $(<[1])\n",
"{\n",
"EXIT SubDir syntax error ;\n",
"}\n",
"$(<[1]) = [ FSubDir $(<[2-]) ] ;\n",
"}\n",
"if ! $($(<[1])-included)\n",
"{\n",
"$(<[1])-included = TRUE ;\n",
"_r = $($(<[1])RULES) ;\n",
"if ! $(_r)\n",
"{\n",
"_r = $(JAMRULES:R=$($(<[1]))) ;\n",
"}\n",
"include $(_r) ;\n",
"}\n",
"_s = [ FDirName $(<[2-]) ] ;\n",
"SUBDIR = $(_s:R=$($(<[1]))) ;\n",
"SUBDIR_TOKENS = $(<[2-]) ;\n",
"SEARCH_SOURCE = $(SUBDIR) ;\n",
"LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
"LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
"SOURCE_GRIST = [ FGrist $(<[2-]) ] ;\n",
"SUBDIRCCFLAGS = ;\n",
"SUBDIRC++FLAGS = ;\n",
"SUBDIRHDRS = ;\n",
"}\n",
"rule SubDirCcFlags\n",
"{\n",
"SUBDIRCCFLAGS += $(<) ;\n",
"}\n",
"rule SubDirC++Flags\n",
"{\n",
"SUBDIRC++FLAGS += $(<) ;\n",
"}\n",
"rule SubDirHdrs\n",
"{\n",
"SUBDIRHDRS += $(<) ;\n",
"}\n",
"rule SubInclude\n",
"{\n",
"local _s ;\n",
"if ! $($(<[1]))\n",
"{\n",
"EXIT Top level of source tree has not been set with $(<[1]) ;\n",
"}\n",
"_s = [ FDirName $(<[2-]) ] ;\n",
"include $(JAMFILE:D=$(_s):R=$($(<[1]))) ;\n",

⌨️ 快捷键说明

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