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

📄 g-mpw-make.sed

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 SED
字号:
# Sed commands to translate Unix makefiles into MPW makefiles.# These are nominally generic, but work best on the makefiles used# for GNU programs.# Whack out any commented-out lines that are probably commands;# they can only cause trouble later on./^#	/d# Change dependency char./:$/s/:/ \\Option-f/g/^[^ 	:#][^:]*:/s/\([ 	]*\):\([ 	]*\)/ \\Option-f /g# Change syntax of Makefile vars./\$/s/\${\([a-zA-Z0-9_-]*\)}/{\1}/g/\$/s/\$(\([a-zA-Z0-9_-]*\))/{\1}/g/ $@/s/ $@/ {Targ}/# Double-$ are literals to Unix but not to MPW make./\$\$/s/\$\$/$/g# Change pathname syntax./\//s,\.\./\/\.\./,:::,g/\//s,\.\./,::,g/\.\//s,\./,:,g/\//s,/,:,g# Undo excess changes./and/s,and:or$,and/or,/and/s,and:or ,and/or ,/want/s,want:need,want/need,# Fixing up sed commands./-e/s_":\([^:]*\):d"_"/\1/d"_g/-e/s_":\([^:]*\):,:\([^:]*\):d"_"/\1/,/\2/d"_g/=/s/ = \.$/ = :/# Make these go away so that later edits not confused./HLDENV/s/{HLDENV}//# Comment out any explicit srcdir setting./srcdir/s/^srcdir/# srcdir//BASEDIR/s/^BASEDIR =.*$/BASEDIR = "{srcroot}"//{BASEDIR}:/s/{BASEDIR}:/{BASEDIR}/g/{srcdir}:/s/{srcdir}:/"{srcdir}"/g/"{srcdir}":/s/"{srcdir}":/"{srcdir}"/g# Tweak some conventions that are backwards for the Mac./bindir/s/{exec_prefix}:bin/{exec_prefix}bin://libdir/s/{exec_prefix}:lib/{exec_prefix}lib:/# Comment out settings of anything set by mpw host config./CC/s/^CC *=/#CC =//CFLAGS/s/^CFLAGS *=/#CFLAGS =//AR/s/^AR *=/#AR =//AR_FLAGS/s/^AR_FLAGS *=/#AR_FLAGS =//RANLIB/s/^RANLIB *=/#RANLIB =//CC_LD/s/^CC_LD *=/#CC_LD =//LDFLAGS/s/^LDFLAGS *=/#LDFLAGS =/# Change -I usages./-I/s/-I\./-i :/g/-I/s/-I::bfd/-i ::bfd:/g/-I/s/-I::include/-i ::include:/g/-I/s/-I/-i /g# Change -D usage./-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g# Change continuation char./\\$/s/\\$/\\Option-d/# Change wildcard char./\*/s/\*/\\Option-x/g# Change path of various types of source files.  This rule does not allow# for file names with multiple dots in the name./\.[chly]/s/\([ 	><=]\)\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/\1"{s}"\2.\3/g/\.[chly]/s/^\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/"{s}"\1.\2/# Allow files named *.tab.[ch] as a special case./\.tab\.[ch]/s/\([ 	><=]\)\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/\1"{s}"\2.\3/g/\.tab\.[ch]/s/^\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/"{s}"\1.\2/# Fix some overenthusiasms./{s}/s/"{s}""{srcdir}"/"{srcdir}"/g/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)dir}/"{\1dir}"/g/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)DIR}/"{\1DIR}"/g/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)dir}"/"{\1dir}"/g/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)DIR}"/"{\1DIR}"/g/{s}/s/"{s}":/:/g/{s}/s/^"{s}"//g/{s}/s/"{s}""{s}"/"{s}"/g/{s}/s/"{s}""{srcdir}"/"{s}"/g/{s}/s/"{srcdir}""{s}"/"{s}"/g# The .def files are also typically source files./\.def/s/\([ 	><]\)\([-a-zA-Z0-9_${}:"]*\)\.def/\1"{s}"\2.def/g/\.def/s/^\([-a-zA-Z0-9_${}:"]*\)\.def/"{s}"\1.def/g# Change extension and path of objects./\.o/s/\([ 	=]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1"{o}"\2.c.o/g/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/"{o}"\1.c.o/# Allow *.tab.o files as a special case of a 2-dot-name file./\.o/s/\([ 	=]\)\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/\1"{o}"\2.tab.c.o/g/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/"{o}"\1.tab.c.o/# Clean up./"{o}"/s/"{o}""{o}"/"{o}"/g/"{o}"/s/^"{o}"\([a-zA-Z0-9_]*\)=/\1=/# Change extension of libs./\.a/s/lib\([a-z]*\)\.a/lib\1.o/g# Remove non-fail option./-/s/^\([ 	]*\)-/\1/# Fix overeagernesses - assumes no one-letter commands./^[ 	]*[a-z] /s/^\([ 	]*\)\([a-z]\) /\1-\2 /# Remove non-echo option. (watch out for autoconf things)/@/s/^\([ 	]*\)@/\1/# Change cp to Duplicate.# Catenate is perhaps more accurate, but the pattern would have to# identify the output file and add a '>' redirection into it./cp/s/^\([ 	]*\)cp /\1Duplicate -d -y /# Change mv to Rename./mv/s/^\([ 	]*\)mv /\1Rename -y //Rename/s/^\([ 	]*\)Rename -y -f/\1Rename -y/# Change rm to Delete./rm -rf/s/^\([ 	]*\)rm -rf /\1Delete -i -y //rm -f/s/^\([ 	]*\)rm -f /\1Delete -i -y //rm/s/^\([ 	]*\)rm /\1Delete -i -y /# Note that we don't mess with ln - directory-specific scripts# must decide what to do with symlinks.# Change cat to Catenate./cat/s/^\([ 	]*\)cat /\1Catenate /# Change touch to mpw-touch./touch/s/^\([ 	]*\)touch /\1mpw-touch /# Change mkdir to NewFolder./mkdir/s/^\([ 	]*\)mkdir /\1NewFolder /# Change var setting to Set./=/s/^\([ 	]*\)\([-a-zA-Z0-9_]*\)=\([^;]*\); \\Option-d/\1Set \2 \3/# Change tests./if /s/if \[ *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""//if /s/if \[ *-f \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""//if /s/if \[ ! *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""//if /s/if \[ ! *-f \([^ ]*\) ] *; *then \\Option-d/If "`Exists "\1"`" == ""//if /s/if \[ *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""//if /s/if \[ *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""//if /s/if \[ ! *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""//if /s/if \[ ! *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" == ""//if /s/if \[ -d \([^ ]*\) ] *; then true *; else mkdir \([^ ;]*\) *; fi/If "`Exists "\1"`" != "" NewFolder \2 End If//if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *\\Option-d/If "\1" == "\2"//if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *then *\\Option-d/If "\1" == "\2"//if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"//if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"//if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"//if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"//^[ 	]*else true$/c\	Else\		mpw-true\/else/s/^\([ 	]*\)else[ 	]*$/\1Else//else/s/^\([ 	]*\)else[; 	]*\\Option-d$/\1Else//^[ 	]*else[ 	]*true[ 	]*$/c\	Else\		mpw-true/^[ 	]*else[ 	]*true[; 	]*fi$/c\	Else\		mpw-true\	End If/fi/s/^\([ 	]*\)fi *$/\1End//fi/s/^\([ 	]*\)fi *; *\\Option-d/\1End/# Change looping./for/s/^\([ 	]*\)for \([-a-zA-Z0-9_]*\) in \([^;]*\); *do *\\Option-d/\1For \2 In \3//^\([ 	]*\)do *\\Option-d/d/done/s/^\([ 	]*\)done *; *\\Option-d/\1End//done/s/^\([ 	]*\)done$/\1End/# Trailing semicolons and continued lines are unneeded sh syntax./; \\Option-d/s/; \\Option-d//# Change move-if-change to MoveIfChange./move-if-change/s/\([^ 	]*\)move-if-change/MoveIfChange/g# Change $(SHELL) to the script name by itself./SHELL/s/^\([ 	]*\){SHELL} /\1/# Change syntax of default rule dependency./^\.c\.o/s/^\.c\.o \\Option-f$/.c.o \\Option-f .c/# Change default rule's action./{CC} -c/s/{CC} -c \(.*\) \$<$/{CC} @DASH_C_FLAG@ {DepDir}{Default}.c \1 @SEGMENT_FLAG({Default})@ -o {TargDir}{Default}.c.o/# This is pretty disgusting, but I can't seem to detect empty rules./Option-f$/s/Option-f$/Option-f _oldest/g# Remove -c from explicit compiler calls. (but should not if GCC)# Handle the case of a source file that is "{xxx}"file.c./ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5.c -o "{o}"\5.c.o/# Handle the case of a source file that is "{xxx}"dir:file.c./ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\):\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5:\6.c -o "{o}"\6.c.o/# Change linking cc to linking sequence./-o/s/^\([ 	]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\){LDFLAGS} \(.*\)-o \([^ ]*\) \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \5 -o \6{PROG_EXT} \7\\1{MAKEPEF} \6{PROG_EXT} -o \6 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\\1{REZ} "{s}"\6.r -o \6 -append -d PROG_NAME='"'\6'"' -d VERSION_STRING='"'{version}'"'//-o/s/^\([ 	]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\)-o \([^ ]*\) \(.*\){LDFLAGS} \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \6 -o \5{PROG_EXT} \7\\1{MAKEPEF} \5{PROG_EXT} -o \5 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\\1{REZ} "{s}"\5.r -o \5 -append -d PROG_NAME='"'\5'"' -d VERSION_STRING='"'{version}'"'//-o/s/^\([ 	]*\){HOST_CC} \(.*\)-o \([^ ]*\) \(.*\)$/\1{HOST_CC_LD} \2 -o \3{PROG_EXT} \4\\1{MAKEPEF} \3{PROG_EXT} -o \3 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\\1{REZ} "{s}"\3.r -o \3 -append -d PROG_NAME='"'\3'"' -d VERSION_STRING='"'{version}'"'/# Comment out .NOEXPORT rules./\.NOEXPORT/s/^\.NOEXPORT/#\.NOEXPORT/# Comment out .PHONY rules./\.PHONY/s/^\.PHONY/#\.PHONY/# Comment out .PRECIOUS rules./\.PRECIOUS/s/^\.PRECIOUS/#\.PRECIOUS/# Comment out .SUFFIXES rules./\.SUFFIXES/s/^\.SUFFIXES/#\.SUFFIXES/# Set the install program appropriately./INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/# Don't try to decide whether to use the tree's own tools./bison/s/`.*bison:bison.*`/bison -y//byacc/s/`.*byacc:byacc.*`/byacc//flex/s/`.*flex:flex.*`/flex/# Turn transformed C comments in echo commands back into comments./echo/s,echo '\(.*\):\\Option-x\(.*\)\\Option-x:\(.*\)',echo '\1/*\2*/\3',# Whack out various clever expressions that search for tools, since# the clever code is too /bin/sh specific./^AR_FOR_TARGET = `/,/`$/c\AR_FOR_TARGET = ::binutils:ar\/^RANLIB_FOR_TARGET = `/,/`$/c\RANLIB_FOR_TARGET = ::binutils:ranlib\/^RANLIB_TEST_FOR_TARGET = /,/ranlib ] )$/c\RANLIB_TEST_FOR_TARGET = \/^EXPECT = `/,/`$/c\EXPECT = \/^RUNTEST = `/,/`$/c\RUNTEST = \/^CC_FOR_TARGET = `/,/`$/c\CC_FOR_TARGET = \/^CXX_FOR_TARGET = `/,/`$/c\CXX_FOR_TARGET = \/^CHILL_FOR_TARGET = `/,/`$/c\CHILL_FOR_TARGET = \/^CHILL_LIB = `/,/`$/c\CHILL_LIB = \/sanit/s/{start-sanit...-[a-z0-9]*}///sanit/s/{end-sanit...-[a-z0-9]*}//# Add standard defines and default rules./^# srcdir/a\\s = "{srcdir}"\\o = :\\"{o}" \\Option-f : "{s}"

⌨️ 快捷键说明

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