# $Id: Makefile.ship,v 1.5 2013-12-09 15:42:51 drmiller Exp $

EXAMPLES = $(wildcard examples/*.txt)
EX = $(EXAMPLES:.txt=.wpt)

COPTS =

VPATH = ../common

ROM = wang1200.rom

COMMON_CLASSES = \
		SuffFileFilter.class \
		SuffFileChooser.class \
		Wang_Colors.class \
		Wang_Keys.class \
		Wang_Properties.class \
		Wang_PropertyEditor.class \
		Wang_CharConverter.class \
		Wang_InputDevice.class \
		Wang_Core.class \
		Wang_UI.class \
		Wang_TapeDevice.class \
		Wang_TapeDrive.class \
		Wang_Keyboard.class \
		Wang_OutputDevice.class \
		Wang_Help.class \
		Wang_Keyboard.class \
		Wang_Debugger.class \
		Wang_DebugConsole.class

W1200_CLASSES = \
		Wang1200_Keyboard.class \
		Wang1200.class \
		Wang1200_Properties.class \
		Wang1200_Simulator.class

FONTDIR = $(shell if [[ -d ~/.fonts ]]; then echo ~/.fonts; elif [[ -d ~/Library/Fonts ]]; then echo ~/Library/Fonts; fi)
FONTDEST =
FONTS = $(notdir $(wildcard ../common/fonts/*.ttf))
COMMON_ICONS = $(subst ../common/,,$(wildcard ../common/icons/*.png))

XTRA = 

all: w1200_fe.class txt2wng.class

CFLAGS += -g -O3 $(COPTS)

w1200_fe.class: w1200_fe.java $(COMMON_CLASSES) $(W1200_CLASSES)
	javac w1200_fe.java

txt2wng.class: txt2wng.java Wang1200_TextToTape.class Wang_CharConverter.class
	javac txt2wng.java

.SUFFIXES: .class .java

.java.class:
	javac $?
	if [[ "$?" == "../common/"* ]]; then \
		mv ../common/$(basename $@)*.class .; \
	fi

clean:
	rm -f *.o

examp: $(EX)

jar: wang1200.jar

Manifest.txt:
	echo "Main-Class: w1200_fe" >$@

SHIP_DOCS = $(filter-out docs/wang1200arch.html,$(wildcard docs/*.html))

wang1200.jar: w1200_fe.class txt2wng.class Manifest.txt
	jar cfm $@ Manifest.txt $(ROM) *.class icons/*.{gif,png} $(SHIP_DOCS) \
		$(addprefix -C ../common/fonts ,$(FONTS)) \
		$(addprefix -C ../common ,$(COMMON_ICONS))

examples/%.wpt: examples/%.txt txt2wng.class
	java txt2wng $<
