# @(#)Makefile	1.51 99/02/02
#
# Makefile for building javax.swing class files
#

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

#
# We want the build output to go here.
#
CLASSBINDIR11 = $(BUILDDIR)\1.1_classes

all:	classes plaf

plaf:	FORCE
	@echo +++Recursively making $(ACTION) $@ ...
	@cd $@
	$(MAKE) -nologo $(ACTION) RELEASE="$(RELEASE)" FULL_VERSION="$(FULL_VERSION)"
	@cd ..
	@echo ---Finished Recursively making $(ACTION) $@.

#
# Files to compile.
#
TARGDIR = $(CLASSBINDIR11)\           # Trailing space is significant
CLASSBINDIR = $(CLASSBINDIR11)
PKG   = javax.swing
PKG2  = javax.swing.border
PKG3  = javax.swing.colorchooser
PKG4  = javax.swing.event
PKG5  = javax.swing.filechooser
PKG6  = javax.swing.table
PKG7  = javax.swing.text
PKG8  = javax.swing.text.html
PKG9  = javax.swing.text.html.parser
PKG10 = javax.swing.text.rtf
PKG11 = javax.swing.tree
PKG12 = javax.swing.undo
PKG13 = javax.swing.beaninfo
!include $(MINCLUDES)\com_sun_java_swing.jmk
!include $(MINCLUDES)\com_sun_java_swing.mmk

FILES_java = $(JDK_1_1_FILES) $(MUNGE_FILES) $(COMMON_FILES)

#
# Compiler to use and its classpath.
#
JAVAC_CMD     = $(JAVAC_JDK11_CMD)
LJAVAC_CMD     = $(JAVAC_JDK11_CMD) -classpath $(CLASSPATH) -d $(CLASSDESTDIR) $(JAVACFLAGS)
USING_JAVAC11 = true

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

#
# Classpath must be overridden after rules.
#
CLASSPATH = $(CLASSPATH11)

#
# We want the build output to go here.
#
CLASSBINDIR11 = $(BUILDDIR)\1.1_classes

#
# Variables.
#
SWING_CLASSES = $(CLASSBINDIR11)\javax\swing
SWING_SOURCES = $(SHARE_SRC)\classes\javax\swing
SWING_PKG     = javax/swing
SWINGJAR      = $(LIBDIR)\swing.jar
MACJAR        = $(LIBDIR)\mac.jar
MOTIFJAR      = $(LIBDIR)\motif.jar
WINJAR        = $(LIBDIR)\windows.jar
MULTIJAR      = $(LIBDIR)\multi.jar
MANIFEST      = manifest
FILES_misc    = $(MISC_FILES:/=\)

OTHER_DIRS = \
	$(CLASSBINDIR11)\..\lib \
	$(CLASSBINDIR11)\javax\swing\text\html\icons \
	$(CLASSBINDIR11)\javax\swing\text\html\parser \
	$(CLASSBINDIR11)\javax\swing\text\rtf\charsets \
	$(CLASSBINDIR11)\javax\swing\plaf\basic\icons \
	$(CLASSBINDIR11)\javax\swing\plaf\metal\icons \
	$(CLASSBINDIR11)\com\sun\java\swing\plaf\mac\icons \
	$(CLASSBINDIR11)\com\sun\java\swing\plaf\motif\icons \
	$(CLASSBINDIR11)\com\sun\java\swing\plaf\windows\icons \
	$(CLASSBINDIR11)\javax\swing\beaninfo \
	$(CLASSBINDIR11)\javax\swing\beaninfo\images

# These classes get listed in the manifest file used during JAR creation.
BEANS = \
	$(SWING_PKG)/JButton.class 				\
	$(SWING_PKG)/JCheckBox.class 				\
	$(SWING_PKG)/JCheckBoxMenuItem.class 			\
	$(SWING_PKG)/JComboBox.class				\
	$(SWING_PKG)/JEditorPane.class			\
	$(SWING_PKG)/JFrame.class  				\
	$(SWING_PKG)/JInternalFrame.class			\
	$(SWING_PKG)/JLabel.class 				\
	$(SWING_PKG)/JList.class 				\
	$(SWING_PKG)/JMenu.class 				\
	$(SWING_PKG)/JMenuBar.class 				\
	$(SWING_PKG)/JMenuItem.class 				\
	$(SWING_PKG)/JOptionPane.class			\
	$(SWING_PKG)/JPanel.class      			\
	$(SWING_PKG)/JPasswordField.class			\
	$(SWING_PKG)/JPopupMenu.class 			\
	$(SWING_PKG)/JProgressBar.class			\
	$(SWING_PKG)/JRadioButton.class 			\
	$(SWING_PKG)/JRadioButtonMenuItem.class 		\
	$(SWING_PKG)/JScrollBar.class 			\
	$(SWING_PKG)/JScrollPane.class 			\
	$(SWING_PKG)/JSeparator.class				\
	$(SWING_PKG)/JSlider.class 				\
	$(SWING_PKG)/JSplitPane.class 			\
	$(SWING_PKG)/JTabbedPane.class 			\
	$(SWING_PKG)/JTable.class				\
	$(SWING_PKG)/JTextArea.class				\
	$(SWING_PKG)/JTextField.class				\
	$(SWING_PKG)/JTextPane.class				\
	$(SWING_PKG)/JToggleButton.class			\
	$(SWING_PKG)/JToolBar.class 				\
	$(SWING_PKG)/JTree.class

#
# Install images and create .jar files.
#
optimized.epilogue debug.epilogue: other_files $(SWINGJAR) $(MACJAR) $(MOTIFJAR) $(WINJAR) $(MULTIJAR)

other_files: $(OTHER_DIRS) $(FILES_misc)

clean: jarfiles.clean htmldtd.clean

jarfiles.clean:
	-$(DEL) $(SWINGJAR) $(MACJAR) $(MOTIFJAR) $(WINJAR) $(MULTIJAR)

$(OTHER_DIRS):
	mkdir $@

# Rules to build class that build a binary version of the dtd
#
htmldtd htmldtd.clean: 
	cd html32dtd
	$(MAKE) -nologo RELEASE="$(RELEASE)" FULL_VERSION="$(FULL_VERSION)" $@
        cd ..

.PHONY: htmldtd htmldtd.clean


classes11.clean:
	rm -rf $(CLASSBINDIR11)/$(PKGDIR) .classes.*


$(SWINGJAR): $(FILES_class) $(FILES_misc)
	-$(DEL) $(SWINGJAR)
	cd $(CLASSBINDIR11)
	$(JAR_JDK11_CMD) cf ..\lib\swing.jar javax\*
	cd ..\sun\swing

$(WINJAR): $(SWINGJAR)
	-$(DEL) $(WINJAR)
	cd $(CLASSBINDIR11)
	$(JAR_JDK11_CMD) cf ..\lib\windows.jar com\sun\java\swing\plaf\windows\*
	cd ..\sun\swing

$(MACJAR): $(SWINGJAR)
	-$(DEL) $(MACJAR)
	cd $(CLASSBINDIR11)
	$(JAR_JDK11_CMD) cf ..\lib\mac.jar com\sun\java\swing\plaf\mac\*
	cd ..\sun\swing

$(MOTIFJAR): $(SWINGJAR)
	-$(DEL) $(MOTIFJAR)
	cd $(CLASSBINDIR11)
	$(JAR_JDK11_CMD) cf ..\lib\motif.jar com\sun\java\swing\plaf\motif\*
	cd ..\sun\swing

$(MULTIJAR): $(SWINGJAR)
	-$(DEL) $(MULTIJAR)
	cd $(CLASSBINDIR11)
	$(JAR_JDK11_CMD) cf ..\lib\multi.jar javax\swing\plaf\multi\*
	cd ..\sun\swing

.SUFFIXES: .gif .css .txt .bdtd

{$(SWING_SOURCES)\text\html\parser}.bdtd{$(SWING_CLASSES)\text\html\parser}.bdtd:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\text\html\icons}.gif{$(SWING_CLASSES)\text\html\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\plaf\basic\icons}.gif{$(SWING_CLASSES)\plaf\basic\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\plaf\mac\icons}.gif{$(SWING_CLASSES)\plaf\mac\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\plaf\motif\icons}.gif{$(SWING_CLASSES)\plaf\motif\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\plaf\metal\icons}.gif{$(SWING_CLASSES)\plaf\metal\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\plaf\windows\icons}.gif{$(SWING_CLASSES)\plaf\windows\icons}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\beaninfo\images}.gif{$(SWING_CLASSES)\beaninfo\images}.gif:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\text\html}.css{$(SWING_CLASSES)\text\html}.css:
	-$(DEL) $@
	copy $? $@

{$(SWING_SOURCES)\text\rtf\charsets}.txt{$(SWING_CLASSES)\text\rtf\charsets}.txt:
	-$(DEL) $@
	copy $? $@


fetch_java_files:	
