/* Copyright (C) 1992, Digital Equipment Corporation                         */
/* All rights reserved.                                                      */
/* See the file COPYRIGHT for a full description.                            */

/* Last modified on Thu Nov 12 15:30:58 PST 1992 by kalsow                   */
/*      modified on Fri May 29 22:28:24 PDT 1992 by muller                   */

/* This m3makefile is a bit complicated because we want to use it for 
   three different purpose: to build from the sources, to build for the 
   export, and to build from C at the export sites. */

/*---------------------------------------------------------- build from C ---*/
#if defined (BOOT) 	/* build from C */

#include "m3makefile.objs"

all:: m3compiler

m3compiler::  $(OBJS)
	IFS=' $(SEP)'; $(PASS2) -o m3compiler $(OBJS) $(LINKBFILES)

clean:: FRC
	rm -f m3compiler

LibdExport (m3compiler)
install:: FRC
	chmod 755 $(LIB_INSTALL)/m3compiler

.SUFFIXES:
.SUFFIXES: .c .s .o
.c.o:
	IFS=' $(SEP)'; $(PASS1) -c $(BOOTOPT) $<
.s.o:
	IFS=' $(SEP)'; $(PASS1) -c $(BOOTOPT) $<

/*---------------------------------------------------- build from Modula-3---*/
#else			

source_dir (../src/builtinOps)
source_dir (../src/builtinWord)
source_dir (../src/builtinTypes)
source_dir (../src/exprs)
source_dir (../src/misc)
source_dir (../src/stmts)
source_dir (../src/types)
source_dir (../src/values)

#if defined  (TARGET_ADU)
source_dir (../src/ADU)
#endif
#if defined  (TARGET_AIX386)
source_dir (../src/AIX386)
#endif
#if defined (TARGET_AP3000)
source_dir (../src/AP3000)
#endif
#if defined (TARGET_ARM)
source_dir (../src/ARM)
#endif
#if defined (TARGET_DS3100)
source_dir (../src/DS3100)
#endif
#if defined (TARGET_DS3100_OSF)
source_dir (../src/DS3100)
#endif
#if defined (TARGET_HP300)
source_dir (../src/HP300)
#endif
#if defined (TARGET_HPPA)
source_dir (../src/HPPA)
#endif
#if defined (TARGET_IBMR2)
source_dir (../src/IBMR2)
#endif
#if defined (TARGET_IBMRT)
source_dir (../src/IBMRT)
#endif
#if defined (TARGET_NEXT)
source_dir (../src/NEXT)
#endif
#if defined (TARGET_SPARC)
source_dir (../src/SPARC)
#endif
#if defined (TARGET_SUN3)
source_dir (../src/SUN3)
#endif
#if defined (TARGET_SUN386)
source_dir (../src/SUN386)
#endif
#if defined (TARGET_UMAX)
source_dir (../src/UMAX)
#endif
#if defined (TARGET_VAX)
source_dir (../src/VAX)
#endif

M3OPT = -g -times

program (m3compiler)
LibdExport (m3compiler)
install:: FRC
	chmod 755 $(LIB_INSTALL)/m3compiler

/*------------------------------------------------------------ exportable ---*/

#if defined (BUILD_BOOT)

M3FLAGS = -w1 -make -why -boot -times

source_dir (../../libm3/scan/src)
source_dir (../../libm3/word/src)
source_dir (../../libm3/main/src)
source_dir (../../libm3/rw/src)
source_dir (../../libm3/text/src)
source_dir (../../libm3/time/src)
source_dir (../../libm3/filename/src)
source_dir (../../libm3/fmt/src)
source_dir (../../libm3/convert/src)
source_dir (../../libm3/list/src)
source_dir (../../libm3/fingerprint/src)
source_dir (../../libm3/smallio/src)
source_dir (../../libm3/types/src)
source_dir (../../libm3/arith/src)
source_dir (../../libm3/table/src)
source_dir (../../libm3/perftool/src)
source_dir (../../libm3/etimer/src)
source_dir (../../libm3/thread/src)

source_dir (../../libm3/Csupport/src/generic)
source_dir (../../libm3/float/src/generic)
source_dir (../../libm3/runtime/src/generic)
source_dir (../../libm3/C/src/generic)

#if defined (TARGET_ADU)
source_dir (../../libm3/Csupport/src/ADU)
source_dir (../../libm3/float/src/ADU)
source_dir (../../libm3/runtime/src/ADU)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.ADU)
source_dir (../../libm3/C/src/ADU)
#endif
#if defined (TARGET_AIX386)
source_dir (../../libm3/Csupport/src/AIX386)
source_dir (../../libm3/float/src/AIX386)
source_dir (../../libm3/runtime/src/AIX386)
source_dir (../../libm3/unix/src/aix-ps2-1-2)
source_dir (../../libm3/C/src/AIX386)
#endif
#if defined (TARGET_AP3000)
source_dir (../../libm3/Csupport/src/AP3000)
source_dir (../../libm3/float/src/AP3000)
source_dir (../../libm3/runtime/src/AP3000)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.AP3000)
source_dir (../../libm3/C/src/AP3000)
#endif
#if defined (TARGET_ARM)
source_dir (../../libm3/Csupport/src/ARM)
source_dir (../../libm3/float/src/ARM)
source_dir (../../libm3/runtime/src/ARM)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.ARM)
source_dir (../../libm3/C/src/ARM)
#endif
#if defined (TARGET_DS3100)
source_dir (../../libm3/Csupport/src/DS3100)
source_dir (../../libm3/float/src/DS3100)
source_dir (../../libm3/runtime/src/DS3100)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.DS3100)
source_dir (../../libm3/C/src/DS3100)
#endif
#if defined (TARGET_DS3100_OSF)
source_dir (../../libm3/Csupport/src/DS3100)
source_dir (../../libm3/float/src/DS3100_OSF)
source_dir (../../libm3/runtime/src/DS3100)
source_dir (../../libm3/unix/src/osf-1.generic)
source_dir (../../libm3/unix/src/osf-1.DS3100)
source_dir (../../libm3/C/src/DS3100_OSF)
#endif
#if defined (TARGET_HP300)
source_dir (../../libm3/Csupport/src/HP300)
source_dir (../../libm3/float/src/HP300)
source_dir (../../libm3/runtime/src/HP300)
source_dir (../../libm3/unix/src/hpux-7-0)
source_dir (../../libm3/C/src/HP300)
#endif
#if defined (TARGET_HPPA)
source_dir (../../libm3/Csupport/src/HPPA)
source_dir (../../libm3/float/src/HPPA)
source_dir (../../libm3/runtime/src/HPPA)
source_dir (../../libm3/unix/src/hpux-7-0)
source_dir (../../libm3/C/src/HPPA)
#endif
#if defined (TARGET_IBMR2)
source_dir (../../libm3/Csupport/src/IBMR2)
source_dir (../../libm3/float/src/IBMR2)
source_dir (../../libm3/runtime/src/IBMR2)
source_dir (../../libm3/unix/src/aix-3-2)
source_dir (../../libm3/C/src/IBMR2)
#endif
#if defined (TARGET_IBMRT)
source_dir (../../libm3/Csupport/src/IBMRT)
source_dir (../../libm3/float/src/IBMRT)
source_dir (../../libm3/runtime/src/IBMRT)
source_dir (../../libm3/unix/src/ibm-4-3)
source_dir (../../libm3/C/src/IBMRT)
#endif
#if defined (TARGET_NEXT)
source_dir (../../libm3/Csupport/src/NEXT)
source_dir (../../libm3/float/src/NEXT)
source_dir (../../libm3/runtime/src/NEXT)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.NEXT)
source_dir (../../libm3/C/src/NEXT)
#endif
#if defined (TARGET_SPARC)
source_dir (../../libm3/Csupport/src/SPARC)
source_dir (../../libm3/float/src/SPARC)
source_dir (../../libm3/runtime/src/SPARC)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.SPARC)
source_dir (../../libm3/C/src/SPARC)
#endif
#if defined (TARGET_SUN3)
source_dir (../../libm3/Csupport/src/SUN3)
source_dir (../../libm3/float/src/SUN3)
source_dir (../../libm3/runtime/src/SUN3)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.SUN3)
source_dir (../../libm3/C/src/SUN3)
#endif
#if defined (TARGET_SUN386)
source_dir (../../libm3/Csupport/src/SUN386)
source_dir (../../libm3/float/src/SUN386)
source_dir (../../libm3/runtime/src/SUN386)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.SUN386)
source_dir (../../libm3/C/src/SUN386)
#endif
#if defined (TARGET_UMAX)
source_dir (../../libm3/Csupport/src/UMAX)
source_dir (../../libm3/float/src/UMAX)
source_dir (../../libm3/runtime/src/UMAX)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.UMAX)
source_dir (../../libm3/C/src/UMAX)
#endif
#if defined (TARGET_VAX)
source_dir (../../libm3/Csupport/src/VAX)
source_dir (../../libm3/float/src/VAX)
source_dir (../../libm3/runtime/src/VAX)
source_dir (../../libm3/unix/src/ultrix-3-1.generic)
source_dir (../../libm3/unix/src/ultrix-3-1.VAX)
source_dir (../../libm3/C/src/VAX)
#endif

#endif /* BUILD_BOOT */
#endif /* BUILD */

