include ../Makefile.$(HOST)


SOURCE_PKG=$(PARSER_PKG)source/
COMMENT_PKG=$(PARSER_PKG)comment/

JAVA_OPTIONS	= -classic

JAVAC_OPTIONS = -g -classpath $(CLASSPATH)
#JAVAC_OPTIONS = -g

PARSER_TEST_CLASS = jp.gr.java_conf.a0.jdh.parser.test.TestSourceCodeParser



PARSER_CLASS = 	\
		$(PARSER_PKG)Token.class	\
		$(PARSER_PKG)SourceCodeParser.class	\
		$(PARSER_PKG)SourceCodeParserConstants.class	\
		$(PARSER_PKG)SourceCodeParserTokenManager.class	\
	 	$(PARSER_PKG)CommentParser.class	\
		$(PARSER_PKG)CommentParserConstants.class	\
		$(PARSER_PKG)CommentParserTokenManager.class	\
		$(PARSER_PKG)$(STREAM_CLASS).class	\
		$(PARSER_PKG)ParseException.class	\
		$(PARSER_PKG)TokenMgrError.class	\

SOURCE_CLASS =	\
		$(SOURCE_PKG)VariableID.class	\
		$(SOURCE_PKG)VariableDecl.class	\
		$(SOURCE_PKG)ResultType.class	\
		$(SOURCE_PKG)Parameter.class	\
		$(SOURCE_PKG)Name.class	\
		$(SOURCE_PKG)MethodDecl.class	\
		$(SOURCE_PKG)JavaDocHolder.class	\
		$(SOURCE_PKG)FieldDecl.class	\
		$(SOURCE_PKG)ConstructorDecl.class	\
		$(SOURCE_PKG)ClassDecl.class	\
		$(SOURCE_PKG)ClassBlock.class	\

COMMENT_CLASS = \
		$(COMMENT_PKG)CommentBody.class	\
		$(COMMENT_PKG)CommentTag.class	\
		$(COMMENT_PKG)ParamTag.class	\
		$(COMMENT_PKG)ExceptionTag.class	\

TARGET = \
	$(PARSER_CLASS) \
	$(SOURCE_CLASS) \
	$(COMMENT_CLASS) \


all: $(TARGET) $(JDH_DIR)Resource_ja_JP.properties
	$(MAKE) -f Makefile.gui


$(TARGET): %.class: %.java
	$(JAVAC) $(JAVAC_OPTIONS) $<

$(JDH_DIR)Resource_ja_JP.properties: $(JDH_DIR)Resource_ja_JP.properties.sjis
	native2ascii -encoding MS932 $(JDH_DIR)Resource_ja_JP.properties.sjis $(JDH_DIR)Resource_ja_JP.properties
#	native2ascii -encoding MS932 < $(JDH_DIR)Resource_ja_JP.properties.sjis > $(JDH_DIR)Resource_ja_JP.properties



test : all
	java $(JAVA_OPTION) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)japanese/TestEnvClass.java
	diff $(SAMPLE_DATA_DIR)japanese/TestEnvClass.java $(SAMPLE_DATA_DIR)japanese/TestEnvClass.java.jad
	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)SecurityManager.java
	diff $(SAMPLE_DATA_DIR)SecurityManager.java $(SAMPLE_DATA_DIR)SecurityManager.java.jad
	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)Class.java
	diff $(SAMPLE_DATA_DIR)Class.java $(SAMPLE_DATA_DIR)Class.java.jad
	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)Thread.java
	diff $(SAMPLE_DATA_DIR)Thread.java $(SAMPLE_DATA_DIR)Thread.java.jad
	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)System.java
	diff $(SAMPLE_DATA_DIR)System.java $(SAMPLE_DATA_DIR)System.java.jad
	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)Integer.java
	diff $(SAMPLE_DATA_DIR)Integer.java $(SAMPLE_DATA_DIR)Integer.java.jad
	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)Math.java
	diff $(SAMPLE_DATA_DIR)Math.java $(SAMPLE_DATA_DIR)Math.java.jad
### String.java contains invalid character code that cannot be converted to UNICODE.
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SAMPLE_DATA_DIR)String.java
#	diff $(SAMPLE_DATA_DIR)String.java $(SAMPLE_DATA_DIR)String.java.jad
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SOURCE_PARSER).java
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SOURCE_PARSER)TokenManager.java
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) $(SOURCE_PARSER)Constants.java
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) ParseException.java
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) Token.java
#	java $(JAVA_OPTIONS) $(SOURCE_PARSER) TokenMgrError.java


test2: all
	$(JAVAC) -g -classpath $(CLASSPATH) jp/gr/java_conf/a0/jdh/parser/test/TestSourceCodeParser.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)japanese\TestEnvClass.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)SecurityManager.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)Class.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)Thread.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)System.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)Integer.java
	java $(JAVA_OPTIONS) $(PARSER_TEST_CLASS) $(SAMPLE_DATA_DIR)Math.java


test_comment: all
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)System.currentTimeMillis
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)s0
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)s1
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)s2
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)s3
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)s4
	java $(JAVA_OPTIONS) $(COMMENT_PARSER) $(SAMPLE_COMMENT)s5

start: all
	java jp.gr.java_conf.a0.jdh.gui.MainWindow

clean :
	rm $(PARSER_CLASS) $(SOURCE_CLASS) $(COMMENT_CLASS)
	$(MAKE) -f Makefile.gui clean
#	rm source comment parser
#	find . -name "*.class" | xargs rm


