#  Makefile for bin area  (builds the toba script)
#
#  CC, CTOBA, LTARG, RPOPT, SLOPT, SUFFIX are set by the 
#  parent Makefile
#
#  DIR must set when making install target
#
#  Copyright 1996, 1997 Arizona Board of Regents; see COPYRIGHT file for
#  details.

include ../configs/basic.mk
include ../configs/current.mk

# package timestamps
PACKAGESUPDATED = ../packages/api.updated ../packages/sun.updated \
               ../packages/runtime.updated ../toba/toba.updated

# Toba path for installation
PKGS = $(DIR)/packages
INSTPATH = $(PKGS)/BISS:$(PKGS)/TOBA:$(PKGS)/SUN:$(PKGS)/API:$(PKGS)/RUNTIME

all: toba lister

toba:	FORCE
	echo '#!/bin/sh'	>  toba
	echo ''			>> toba
	echo CC='"$(CC)"'	>> toba
	echo CTOBA='"$(CTOBA)"'	>> toba
	echo LTARG='"$(LTARG)"'	>> toba
	echo RPOPT='"$(RPOPT)"'	>> toba
	echo SLOPT='"$(SLOPT)"'	>> toba
	echo JAVAC='"$(JAVAC)"'  >> toba
	echo JAVA='"$(JAVA)"'   >> toba
	echo BOOTSTRAP='"$(BOOTSTRAP)"' >> toba
	echo ''			>> toba
	cat toba.sh		>> toba
	chmod +x toba

lister: FORCE
	echo '#!/bin/sh' > lister
	echo JAVA='"$(JAVA)"'   >> lister
	echo BOOTSTRAP='"$(BOOTSTRAP)"' >> lister
	cat lister.sh           >> lister
	chmod +x lister

XJAVAC=$(BINDIR)xjavac$(SUFFIX)
XTOBA=$(BINDIR)xtoba$(SUFFIX)
JTOBA=$(BINDIR)jtoba$(SUFFIX)

binaries: $(XJAVAC) $(XTOBA)

withjit: $(JTOBA)

nojit:

$(XJAVAC): $(PACKAGESUPDATED)
	TOBAPATH="$(TOBAPATH)" ./toba -J -o $@ sun.tools.javac.Main
	strip $@

$(XTOBA): $(PACKAGESUPDATED)
	TOBAPATH="$(TOBAPATH)" ./toba -Jr -o $@ toba.translator.Trans
	strip $@

$(JTOBA): $(PACKAGESUPDATED)
	TOBAPATH="$(TOBAPATH)" ./toba -Jr -g -o $@ toba.jit.JIT
	strip $@

install:  FORCE
	$(MAKE) BINDIR=$(DIR)/bin/ TOBAPATH=$(INSTPATH) binaries $(JIT_TARGET)

FORCE:


#  cleanup:  remove executable binaries and constructed script

clean:
	rm -f *.[cho] toba jtoba xtoba xtoba.exe xjavac xjavac.exe
