📄 mpw-make.sed
字号:
# Sed commands to finish translating the G++ Unix makefile into MPW syntax.# Remove control-Ls, they upset MPW make.s///g# Remove references to always-empty variables used to mark things./CYGNUS-LOCAL-/s/{CYGNUS-LOCAL-[a-z0-9]*}//g# Add a bunch of definitions, mostly empty./^# Variables that exist for you to override.$/a\\xmake_file = \tmake_file = \build_xm_file = \MALLOC = \MD_DEPS = \REAL_H = \HOST_CC_LD = {CC_LD}\ALL_CCLDFLAGS = \HOST_CCLDFLAGS = \CONFIG_H = \LIBDEPS = \# The "target" variable is special to MPW make, avoid it./{target}/s/{target}/{target_canonical}/g# Suppress the suppression of smart makes./^\.y\.c/d# Whack out "..." assignments./\.\.\./s/^\([a-z_]*= \.\.\.\)/#\1/# Previous edits go a little overboard, undo./^objext = /s/"{o}"//# Always link in low-level MPW functions./^LIBDEPS=/s/$/ ::strerror.c.o ::mpwlib.c.o//{CLIB}/s/{CLIB}/ ::strerror.c.o ::mpwlib.c.o {CLIB}/# Don't get tricky about finding various .o file, point at dir above./^SUBDIR_OBSTACK/s/`.*`/::obstack.c.o//^SUBDIR_USE_ALLOCA/s/`.*`/::alloca.c.o//^SUBDIR_MALLOC/s/`.*`//# Point includes at parent directly correctly./^INCLUDES = /s/:\./::/g/^INCLUDES = /s/"{srcdir}"\.\./"{topsrcdir}"gcc:/g/^INCLUDES = /s,"{srcdir}"/\.\.,"{topsrcdir}"gcc:,g/^INCLUDES = /s,"{srcdir}":config,"{topsrcdir}"gcc:config:,g# Add the special MPW include dirs./^INCLUDES = /s/$/ -i "{topsrcdir}"include:mpw: -i :::extra-include:/# A nasty hack to reduce confusion./true/s/ ; @true$//# (should be in common translation?)/{CC_LD} /s/$/ {EXTRALIBS}/# Don't use general compiler flags (which may include definitions# and other compiler-only bits) with linking commands./{CC_LD} /s/ALL_CFLAGS/ALL_CCLDFLAGS/# Whack out build rules that are not useful./^Makefile \\Option-f /,/^$/d/^config.status \\Option-f /,/^$/d# (Note that MPW make is not case sensitive, and so this name# is considered the same as "md_file".)/^{MD_FILE} \\Option-f/,/^$/d# Depending on config.status is not useful for us./config.status/s/ config.status//# Repeat of stuff from generic edit./{s}/s/"{s}""{s}"/"{s}"/g/{s}/s/"{s}""{srcdir}"/"{s}"/g/{s}/s/"{srcdir}""{s}"/"{s}"/g# Fix references to C frontend files in main dir./::c-/s/"{o}"::c-/"{o}":c-/g# Fix pathnames to generated files in the objdir./parse/s/"{s}"parse\.\([chy]\)/"{o}"parse.\1/g/parse/s/^parse\.\([chy]\)/"{o}"parse.\1//y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g/y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c//y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g/y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/# Put in the definition of YYEMPTY directly./grep/s/grep .* >>/Echo '#define YYEMPTY -1' >>/# If the dates are wrong, then this tries to run gperf, which we don't# really want./^"{srcdir}"hash.h/,/hash.h$/d# Sed the object file list instead of using cat (meow)./cat/s/`cat /`sed -e 's,:,::,g' -e 's,{objext},.o,g' /# Simplify dependencies of generated parser files./^{PARSE_C}/s/^/#//^stamp-parse/s/^stamp-parse/{PARSE_C}/# Fix the compile line for the generated parser./{CC} -c/,/echo {PARSE_C}/c\ {CC} @DASH_C_FLAG@ {ALL_CFLAGS} {ALL_CPPFLAGS} {INCLUDES} {BIG_SWITCHFLAG} "{o}"parse.c -o "{o}"parse.c.o\# Change all Rez commands to use mac-gcc.r./{REZ}/s/"{s}"[-a-zA-Z{}]*\.r/"{topsrcdir}"gcc:mac-gcc.r/# Remove pathname junk from the container name./{REZ}/s/'"'::cc1plus'"'/'"'cc1plus'"'/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -