o = :
-C = C -d MPW_C
-
CROSS = -d CROSS_COMPILE
-CFLAGS = -w -mc68020 -mc68881 -model far {CROSS} -d MPW -d TARGET_BYTES_BIG_ENDIAN -d BFD_ASSEMBLER -i "{topsrcdir}"include: -i "{topsrcdir}"bfd:,"{srcdir}",::bfd:
+ALL_CFLAGS = {CFLAGS} {CROSS} {TDEFINES} -i "{topsrcdir}"include: -i "{topsrcdir}"bfd:,"{srcdir}",::libiberty:,::bfd:,::extra-include,"{srcroot}"include:mpw:
# debug options: -mbg on -sym on
"{o}" \Option-f : "{s}"
# Default rule that puts each file into separate segment.
.c.o \Option-f .c
- {C} {DepDir}{Default}.c {CFLAGS} {SymOptions} -s gas-{Default} -o {TargDir}{Default}.c.o
+ {CC} {DepDir}{Default}.c {ALL_CFLAGS} -s gas_{Default} -o {TargDir}{Default}.c.o
+
+prefix = usr:local:
+
+bindir = {prefix}bin:
OBJECTS = \Option-d
"{o}"app.c.o \Option-d
"{o}"flonum-mult.c.o \Option-d
"{o}"frags.c.o \Option-d
"{o}"hash.c.o \Option-d
- "{o}"hex-value.c.o \Option-d
"{o}"input-file.c.o \Option-d
"{o}"input-scrub.c.o \Option-d
"{o}"listing.c.o \Option-d
"{o}"subsegs.c.o \Option-d
"{o}"symbols.c.o \Option-d
"{o}"write.c.o \Option-d
- "{o}"ecoff.c.o \Option-d
- "{o}"xmalloc.c.o \Option-d
+ "{o}"ecoff.c.o
+
+
+TARG_OBJECTS = "{o}"obj-format.c.o "{o}"targ-cpu.c.o "{o}"atof-targ.c.o
+
+# If you put config.h in INCLUDES, then MPW's stupid make will always
+# want to rebuild everything. Better to do in two stages.
INCLUDES =
+# "{o}"config.h
# host.h
#"{s}".h
-all \Option-f as.new
-
-as.new \Option-f\Option-f {OBJECTS} "{o}"obj-format.c.o "{o}"targ-cpu.c.o "{o}"atof-targ.c.o \Option-d
- ::libiberty:libiberty.o \Option-d
- ::bfd:libbfd.o \Option-d
- ::opcodes:libopcodes.o
- Link -d -model far -c 'MPS ' -t MPST \Option-d
- {OBJECTS} \Option-d
- "{o}"obj-format.c.o "{o}"targ-cpu.c.o "{o}"atof-targ.c.o \Option-d
- ::libiberty:libiberty.o \Option-d
- ::bfd:libbfd.o \Option-d
- ::opcodes:libopcodes.o \Option-d
- #"{CLibraries}"CSANELib.o \Option-d
- #"{CLibraries}"Math.o \Option-d
- #"{CLibraries}"Complex.o \Option-d
- "{CLibraries}"StdClib.o \Option-d
- "{Libraries}"Stubs.o \Option-d
- "{Libraries}"Runtime.o \Option-d
- "{Libraries}"Interface.o \Option-d
- #"{Libraries}"ToolLibs.o \Option-d
- -o as.new
+CLIBS = ::libiberty:libiberty.o ::bfd:libbfd.o ::opcodes:libopcodes.o
+
+all \Option-f "{o}"config.h as.new
+
+as.new \Option-f\Option-f {OBJECTS} {TARG_OBJECTS} {CLIBS} "{o}"Version.r
+ Rez -rd -o as.new "{o}"Version.r -append
+ Link {LDFLAGS} -o as.new {OBJECTS} {TARG_OBJECTS} {CLIBS} {EXTRALIBS}
+
+"{o}"config.h \Option-f "{o}"config-stamp
+
+"{o}"config-stamp \Option-f Makefile
+ Delete -i -y "{o}"config.new "{o}"config-stamp
+ Echo '#ifndef GAS_VERSION' > "{o}"config.new
+ Echo '#define GAS_VERSION "{VERSION}"' >> "{o}"config.new
+ Echo '#define TARGET_CPU "{target_cpu}"' >> "{o}"config.new
+ Echo '#define TARGET_ALIAS "{target_alias}"' >> "{o}"config.new
+ Echo '#define TARGET_CANONICAL "{target_canonical}"' >> "{o}"config.new
+ Echo '#define bzero(a,b) memset(a,0,b)' >> "{o}"config.new
+ Echo '#define bcopy(a,b,c) memcpy(b,a,c)' >> "{o}"config.new
+ Echo '#define bcmp(a,b,c) memcmp(a,b,c)' >> "{o}"config.new
+ Echo '#define M_ANSI 1' >> "{o}"config.new
+ Echo '#include <stdlib.h>' >> "{o}"config.new
+ Echo '#include <string.h>' >> "{o}"config.new
+ Echo '#include <memory.h>' >> "{o}"config.new
+ Echo '#include <spin.h>' >> "{o}"config.new
+ Echo 'char *strdup();' >> "{o}"config.new
+ Echo '#ifdef MPW_C' >> "{o}"config.new
+ Echo '#undef __PTR_TO_INT' >> "{o}"config.new
+ Echo '#define __PTR_TO_INT(P) ((int)(P))' >> "{o}"config.new
+ Echo '#undef __INT_TO_PTR' >> "{o}"config.new
+ Echo '#define __INT_TO_PTR(P) ((char *)(P))' >> "{o}"config.new
+ Echo '#endif' >> "{o}"config.new
+ Echo '#define sys_nerr _sys_nerr' >> "{o}"config.new
+ Echo '#define sys_errlist _sys_errlist' >> "{o}"config.new
+ Echo '#ifdef __STDIO__' >> "{o}"config.new
+ Echo 'FILE *mpw_fopen();' >> "{o}"config.new
+ Echo '#endif' >> "{o}"config.new
+ Echo '#define fopen mpw_fopen' >> "{o}"config.new
+ Echo '#define fseek mpw_fseek' >> "{o}"config.new
+ Echo '#define abort mpw_abort' >> "{o}"config.new
+ Echo '#define TRUE_FALSE_ALREADY_DEFINED' >> "{o}"config.new
+ Echo '#define CR_EOL' >> "{o}"config.new
+ Echo '#define ABORT_ON_ERROR' >> "{o}"config.new
+ Echo '#define LOSING_COMPILER' >> "{o}"config.new
+ Echo '#define HOST_SPECIAL_INIT(argc,argv) mpw_special_init ((argv)[0]);' >> "{o}"config.new
+ Echo '#define WANT_FOPEN_BIN' >> "{o}"config.new
+ Echo '#define HAVE_ERRNO_H' >> "{o}"config.new
+ Echo '#define HAVE_STDARG_H' >> "{o}"config.new
+ Echo '#define ' {HACK_O_RAMA} >> "{o}"config.new
+ Echo '#define OBJ_COFF_OMIT_TIMESTAMP' >> "{o}"config.new
+ Echo '#endif /* GAS_VERSION */' >> "{o}"config.new
+ MoveIfChange "{o}"config.new "{o}"config.h
+ Echo ' ' >"{o}"config-stamp
+
+
+"{o}"Version.r \Option-f "{o}"version-stamp
+
+"{o}"version-stamp \Option-f Makefile
+ Delete -i -y "{o}"version.new "{o}"version-stamp
+ Set major 0
+ Set minor 0
+ Set release 0
+ Echo '/* Version resources. */' > "{o}"version.new
+ Echo '#include "SysTypes.r"' >> "{o}"version.new
+ Echo '' >> "{o}"version.new
+ Echo "resource 'vers' (1) " `open-brace` >> "{o}"version.new
+ Echo " {major}," >> "{o}"version.new
+ Echo " {minor}," >> "{o}"version.new
+ Echo " {release}," >> "{o}"version.new
+ Echo ' 0,' >> "{o}"version.new
+ Echo ' verUs,' >> "{o}"version.new
+ Echo ' "{VERSION}",' >> "{o}"version.new
+ Echo ' "{VERSION} (c) 1986-95 FSF, Inc. "' >> "{o}"version.new
+ Echo '};' >> "{o}"version.new
+ Echo '' >> "{o}"version.new
+ Echo "resource 'vers' (2, purgeable) " `open-brace` >> "{o}"version.new
+ Echo " {major}," >> "{o}"version.new
+ Echo " {minor}," >> "{o}"version.new
+ Echo " {release}," >> "{o}"version.new
+ Echo ' 0,' >> "{o}"version.new
+ Echo ' verUs,' >> "{o}"version.new
+ Echo ' "{VERSION}",' >> "{o}"version.new
+ Echo ' "GNU AS for MPW"' >> "{o}"version.new
+ Echo '};' >> "{o}"version.new
+ MoveIfChange "{o}"version.new "{o}"Version.r
+ Echo ' ' > "{o}"version-stamp
"{o}"app.c.o \Option-f "{s}"app.c {INCLUDES}
"{o}"as.c.o \Option-f "{s}"as.c {INCLUDES}
"{o}"atof-generic.c.o \Option-f "{s}"atof-generic.c {INCLUDES}
-"{o}"bifnum-copy.c.o \Option-f "{s}"bignum-copy.c {INCLUDES}
+"{o}"bignum-copy.c.o \Option-f "{s}"bignum-copy.c {INCLUDES}
"{o}"cond.c.o \Option-f "{s}"cond.c {INCLUDES}
"{o}"expr.c.o \Option-f "{s}"expr.c {INCLUDES}
"{o}"flonum-konst.c.o \Option-f "{s}"flonum-konst.c {INCLUDES}
"{o}"flonum-mult.c.o \Option-f "{s}"flonum-mult.c {INCLUDES}
"{o}"frags.c.o \Option-f "{s}"frags.c {INCLUDES}
"{o}"hash.c.o \Option-f "{s}"hash.c {INCLUDES}
-"{o}"hex-value.c.o \Option-f "{s}"hex-value.c {INCLUDES}
"{o}"input-file.c.o \Option-f "{s}"input-file.c {INCLUDES}
"{o}"input-scrub.c.o \Option-f "{s}"input-scrub.c {INCLUDES}
"{o}"listing.c.o \Option-f "{s}"listing.c {INCLUDES}
"{o}"symbols.c.o \Option-f "{s}"symbols.c {INCLUDES}
"{o}"write.c.o \Option-f "{s}"write.c {INCLUDES}
"{o}"ecoff.c.o \Option-f "{s}"ecoff.c {INCLUDES}
-"{o}"xmalloc.c.o \Option-f "{s}"xmalloc.c {INCLUDES}
+
+"{o}"targ-cpu.c.o \Option-f "{o}"targ-cpu.c {INCLUDES}
+"{o}"obj-format.c.o \Option-f "{o}"obj-format.c {INCLUDES}
+"{o}"atof-targ.c.o \Option-f "{o}"atof-targ.c {INCLUDES}
+
+install \Option-f all install-only
+
+install-only \Option-f
+ If "`Exists "{prefix}"`" == ""
+ Echo "{prefix}" does not exist, cannot install anything
+ Exit 1
+ End If
+ If "`Exists "{bindir}"`" == ""
+ NewFolder "{bindir}"
+ End If
+ Duplicate -y :as.new "{bindir}"as