#
# @(#)Makefile	1.10 99/02/18
#
# Makefile for building javax.swing.plaf class files. 
#

BUILDDIR = ..\..\..
LOCATION = javax\swing\plaf
!include $(BUILDDIR)\makefiles\defs.nmk

#
# Files to compile.
#
PKG  = javax.swing.plaf
PKG2 = javax.swing.plaf.basic
PKG3 = com.sun.java.swing.plaf.motif
PKG4 = javax.swing.plaf.multi
PKG5 = com.sun.java.swing.plaf.windows
PKG6 = javax.swing.plaf.metal
!include $(MINCLUDES)\com_sun_java_swing_plaf.jmk

FILES_java = $(FILES_SWING_java)

PLAF_SOURCES = $(SHARE_SRC)\classes\javax\swing\plaf
O_PLAF_SOURCES = $(SHARE_SRC)\classes\com\sun\java\swing\plaf
PLAF_CLASSES = $(CLASSBINDIR)\javax\swing\plaf
O_PLAF_CLASSES = $(CLASSBINDIR)\com\sun\java\swing\plaf

OTHER_DIRS = \
	$(PLAF_CLASSES)\basic\resources \
	$(PLAF_CLASSES)\metal\icons \
	$(O_PLAF_CLASSES)\motif\icons \
	$(O_PLAF_CLASSES)\windows\icons \
	$(PLAF_CLASSES)\metal\resources \
	$(O_PLAF_CLASSES)\motif\resources \
	$(O_PLAF_CLASSES)\windows\resources

#
# Install miscellaneous files. Clean not required because this is all
# subpackage level installation.
#
!include $(MINCLUDES)\com_sun_java_swing_plaf.mmk

MISC_FILES = $(MISC_SWING_FILES)
FILES_misc  = $(MISC_FILES:/=\)

#
# Macros needed for munging source.
#
MUNGE_DIR = ..\1.2_src

SWING_DIRS = $(MUNGE_DIR)\javax\swing\plaf \
	     $(MUNGE_DIR)\javax\swing\plaf\basic \
             $(MUNGE_DIR)\javax\swing\plaf\metal \
             $(MUNGE_DIR)\com\sun\java\swing \
             $(MUNGE_DIR)\com\sun\java\swing\plaf \
             $(MUNGE_DIR)\com\sun\java\swing\plaf\motif \
             $(MUNGE_DIR)\com\sun\java\swing\plaf\windows

SWING_java = $(MUNGE_FILES:..\..\..\classes=..\1.2_src)
SWING_java = $(SWING_java:/=\)

JAVACFLAGS = -sourcepath $(MUNGE_DIR);$(SHARE_SRC)\classes

CONVERT_CMD = $(BINDIR)\java -classpath ".." Munge -DJDK1.2


#
# Rules.
#
!include $(BUILDDIR)\makefiles\classes.nmk

$(OTHER_DIRS):
	if not exist $@ mkdir $@

.SUFFIXES: .gif .properties

{$(PLAF_SOURCES)\metal\icons}.gif{$(PLAF_CLASSES)\metal\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(O_PLAF_SOURCES)\motif\icons}.gif{$(O_PLAF_CLASSES)\motif\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(O_PLAF_SOURCES)\windows\icons}.gif{$(O_PLAF_CLASSES)\windows\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(PLAF_SOURCES)\basic\resources}.properties{$(PLAF_CLASSES)\basic\resources}.properties:
	-$(DEL) $@
	copy $? $@

{$(PLAF_SOURCES)\metal\resources}.properties{$(PLAF_CLASSES)\metal\resources}.properties:
	-$(DEL) $@
	copy $? $@

{$(O_PLAF_SOURCES)\motif\resources}.properties{$(O_PLAF_CLASSES)\motif\resources}.properties:
	-$(DEL) $@
	copy $? $@

{$(O_PLAF_SOURCES)\windows\resources}.properties{$(O_PLAF_CLASSES)\windows\resources}.properties:
	-$(DEL) $@
	copy $? $@

optimized.epilogue debug.epilogue: swing.misc.install

swing.misc.install: $(OTHER_DIRS) $(FILES_misc)

#
# Rules for munging source
#

optimized.prologue debug.prologue: swing.sources
clobber: swing.sources.clobber

swing.sources: $(SWING_DIRS) ..\Munge.class $(SWING_java)
swing.sources.clobber: FORCE
	-$(DELTREE) $(SWING_DIRS)
	-$(DEL) ..\Munge*.class

$(SWING_DIRS):
	if not exist $@ mkdir $@

..\Munge.class: ..\..\..\..\..\build\share\tools\munge\Munge.java
	$(JAVAC_CMD) -d .. $?

#
# We need an explicit rule for each Munged source file.  This is an ugly
# hack.
#
$(MUNGE_DIR)\javax\swing\plaf\basic\BasicGraphicsUtils.java: $(SHARE_SRC)\classes\javax\swing\plaf\basic\BasicGraphicsUtils.java
	$(CONVERT_CMD) $? > $@

$(MUNGE_DIR)\javax\swing\plaf\metal\MetalUtils.java: $(SHARE_SRC)\classes\javax\swing\plaf\metal\MetalUtils.java
	$(CONVERT_CMD) $? > $@

$(MUNGE_DIR)\com\sun\java\swing\plaf\windows\WindowsUtils.java: $(SHARE_SRC)\classes\com\sun\java\swing\plaf\windows\WindowsUtils.java
	$(CONVERT_CMD) $? > $@

$(MUNGE_DIR)\com\sun\java\swing\plaf\motif\MotifGraphicsUtils.java: $(SHARE_SRC)\classes\com\sun\java\swing\plaf\motif\MotifGraphicsUtils.java
	$(CONVERT_CMD) $? > $@

# Rules for compiling munged files.
{$(MUNGE_DIR)\javax\swing\plaf\metal}.java{$(CLASSBINDIR)\javax\swing\plaf\metal}.class:
	@echo $(?)>> .classes.list

{$(MUNGE_DIR)\javax\swing\plaf\basic}.java{$(CLASSBINDIR)\javax\swing\plaf\basic}.class:
	@echo $(?)>> .classes.list

{$(MUNGE_DIR)\com\sun\java\swing\plaf\windows}.java{$(CLASSBINDIR)\com\sun\java\swing\plaf\windows}.class:
	@echo $(?)>> .classes.list

{$(MUNGE_DIR)\com\sun\java\swing\plaf\motif}.java{$(CLASSBINDIR)\com\sun\java\swing\plaf\motif}.class:
	@echo $(?)>> .classes.list

