#
# @(#)GNUmakefile	1.6 95/12/01
#
# Makefile for building all of java
#

TOPDIR = ../../..
PLATFORM = be
PRODUCT = java

# Not all the SUBDIRS are supported. net is actually inside java. Paul.
# SUBDIRS = javah java javap javac awt applet net
SUBDIRS = javah java javap

RELEASE = JDK102BeOS

DESTDIR = installed

all optimized debug clean clobber ::
	@for i in $(SUBDIRS) ; do \
	    echo ">>>Recursively making "$$i" "$@"..."; \
	    cd $$i; $(MAKE) $@ RELEASE=$(RELEASE) || exit 1; cd ..;  \
	    echo "<<<Finished Recursively making "$$i" "$@"." ; \
	done

clobber :: 
	rm -rf $(TOPDIR)/build/classes $(TOPDIR)/build/bin $(TOPDIR)/build/lib

FORCE:

#
# Search the runtime directories first so that we don't see the
# useless stub versions of routines before anything else.
#
include $(TOPDIR)/build/$(PLATFORM)/makefiles/Defs.gmk
TAGS_PATH = $(PLATFORM_SRC)/java/runtime $(SHARE_SRC)/java/runtime $(PLATFORM_SRC) $(SHARE_SRC)


tags: FORCE
	rm -f $@
	find $(TAGS_PATH) -name 's.*' ! -name 's..dead*' -print  | sed 's/SCCS\/s.//g' >/tmp/.tags.files
	/usr/local/bin/ctags -atwf $@ `cat /tmp/.tags.files`
	for i in `cat /tmp/.tags.files` ; \
	do \
		/bin/echo `basename $$i`"\t"$$i"\t//" ; \
	done >filetags
	cat filetags $@ | sort >tmptags
	mv tmptags $@
	rm -f filetags /tmp/.tags.files

TAGS: FORCE
	rm -f TAGS;
	/usr/local/bin/etags -atwf TAGS \
		`find $(TAGS_PATH) -name 's.*' -print | sed 's/SCCS\/s.//g'  \
		|  xargs 

BINDIR = $(DESTDIR)/bin
LIBDIR = $(DESTDIR)/lib
CLASSBINDIR = $(DESTDIR)/classes
OBJ = $(DESTDIR)/bin/$(PLATFORM)

install: all
	rm -rf $(DESTDIR)/*
	mkdir -p $(BINDIR) $(LIBDIR) $(CLASSBINDIR) $(OBJ)
	cp $(SOL_SRC)/bin/*.sh $(BINDIR)
	chmod 555 $(BINDIR)/*.sh
	ls $(BINDIR)/*.sh|sed -e "s/\.sh//" -e "s/.*/mv -f &.sh &/"|sh -x
	mv $(BINDIR)/java_wrapper $(BINDIR)/.java_wrapper
	cp -r lib/* $(LIBDIR)
	cp -r classes/* $(CLASSBINDIR)
	(cd $(TOPDIR)/src/share; tar cfF - demo) | (cd $(DESTDIR);tar xfBpx -)
	mkdir -p $(BINDIR)/$(PLATFORM)
	cp java/JAVA/java $(OBJ)
	ln -s .java_wrapper $(BINDIR)/java
	cp java/JAVAH/javah $(OBJ)
	ln -s .java_wrapper $(BINDIR)/javah
	cp java/JAVAP/javap $(OBJ)
	ln -s .java_wrapper $(BINDIR)/javap
