#
# @(#)GNUmakefile	1.9 99/02/11
#

BUILDDIR  = ../../..
include $(BUILDDIR)/Platform.gmk
PACKAGE   = javax.swing.plaf
PRODUCT   = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing
include $(BUILDDIR)/makefiles/Defs.gmk

ifeq ($(NOCORE),true)
BINDIR=$(BOOTDIR)/bin
JAVAC_CMD  = $(LATEST_JDK12)/bin/javac $(JAVAC_VMFLAGS) -sysclasspath $(CLASSBINDIR):$(BOOTDIR)/jre/lib/rt.jar -sourcepath $(VPATH.java) -d $(CLASSDESTDIR)
endif

#
# Files
#
include $(MINCLUDES)com_sun_java_swing_plaf.jmk
include $(MINCLUDES)com_sun_java_swing_plaf.mmk

MISC_FILES = $(MISC_SWING_FILES)
FILES_java = $(FILES_SWING_java)

#
# Macros needed for munging source
#
MUNGE_DIR = ../1.2_src
CONVERT_CMD = $(BINDIR)/java -classpath ".." Munge -DJDK1.2

FILES_source = $(MUNGE_FILES:%.java=$(MUNGE_DIR)/%.java)
SOURCEPATH = $(MUNGE_DIR):$(SHARE_SRC)/classes


#
# Rules
#
all: sources classes other_files

clean:: sources.clean classes.clean

#
# Include
#
include $(BUILDDIR)/makefiles/Classes.gmk

other_files: $(MISC_FILES)

$(CLASSBINDIR)/%.gif: $(SHARE_SRC)/classes/%.gif
	@mkdir -p `dirname $@`
	@rm -f $@
	cp $? $@

$(CLASSBINDIR)/%.css: $(SHARE_SRC)/classes/%.css
	@mkdir -p `dirname $@`
	@rm -f $@
	cp $? $@

$(CLASSBINDIR)/%.bdtd: $(SHARE_SRC)/classes/%.bdtd
	@mkdir -p `dirname $@`
	@rm -f $@
	cp $? $@

$(CLASSBINDIR)/%.txt: $(SHARE_SRC)/classes/%.txt
	@mkdir -p `dirname $@`
	@rm -f $@
	cp $? $@

$(CLASSBINDIR)/%.properties: $(SHARE_SRC)/classes/%.properties
	@mkdir -p `dirname $@`
	@rm -f $@
	cp $? $@

#
# Rules needed for munging source.
#

sources: $(MUNGE_DIR) ../Munge.class $(FILES_source)
	@echo $(FILES_source)

$(MUNGE_DIR):	
	mkdir $(MUNGE_DIR)

../Munge.class: ../../../../share/tools/munge/Munge.java
	$(JAVAC) -d .. $?

sources.clean:
	rm -rf $(MUNGE_DIR) Munge*.class

$(MUNGE_DIR)/%.java: $(SHARE_SRC)/classes/%.java
	@mkdir -p `dirname $@`
	$(CONVERT_CMD) $? > $@

# Each file in MUNGE_FILES must have an explicit rule to force the right
# file to be included in .classes.list.  In theory, this should work:
#
#    $(CLASSDESTDIR)/%.class: $(MUNGE_DIR)/%.java
#	@echo $? >>.classes.list
#
# but I can't get it to take precedence over the standard rules.
$(CLASSDESTDIR)/javax/swing/plaf/basic/BasicGraphicsUtils.class: $(MUNGE_DIR)/javax/swing/plaf/basic/BasicGraphicsUtils.java
	@echo $? >>.classes.list

$(CLASSDESTDIR)/javax/swing/plaf/metal/MetalUtils.class: $(MUNGE_DIR)/javax/swing/plaf/metal/MetalUtils.java
	@echo $? >>.classes.list

$(CLASSDESTDIR)/com/sun/java/swing/plaf/windows/WindowsUtils.class: $(MUNGE_DIR)/com/sun/java/swing/plaf/windows/WindowsUtils.java
	@echo $? >>.classes.list

$(CLASSDESTDIR)/com/sun/java/swing/plaf/motif/MotifGraphicsUtils.class: $(MUNGE_DIR)/com/sun/java/swing/plaf/motif/MotifGraphicsUtils.java
	@echo $? >>.classes.list
