Menu

Diff of /src/Make.Defs [000000] .. [r6]  Maximize  Restore

Switch to side-by-side view

--- a
+++ b/src/Make.Defs
@@ -0,0 +1,373 @@
+##
+## Copyright (c) 1990-2006 kopiRight Managed Solutions GmbH
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License version 2
+## as published by the Free Software Foundation.
+##
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+## $Id: Make.Defs,v 1.1 2007/05/17 13:25:35 hassen_kouki Exp $
+##
+
+## ----------------------------------------------------------------------
+## CHECK THAT CLASSROOT IS SET
+
+ifdef CLASSROOT
+CLASSROOT_CHECK =	classroot-good
+else
+CLASSROOT_CHECK =	classroot-bad
+endif
+
+check-classroot:	$(CLASSROOT_CHECK)
+
+classroot-good:
+
+classroot-bad:
+			@echo "*** Error: No CLASSROOT defined, exiting. ***"
+			@exit 1
+
+## ----------------------------------------------------------------------
+## DEFINITIONS
+
+ifndef RELEASE
+RELEASE =	"Version 2.2C released 06 May 2005"
+endif
+
+ifndef JAVA
+JAVA =		java -Djava.ext.dirs=$(EXTDIRS)
+endif
+
+ifndef JAVAC
+JAVAC =		jikes +E +P -source 1.4 -extdirs $(EXTDIRS)
+endif
+
+ifndef TOKDEF
+TOKDEF =	$(JAVA) com.kopiright.compiler.tools.lexgen.Main
+endif
+
+ifndef JFLEX
+JFLEXSKELETON =	$(CLASSROOT)/com/kopiright/compiler/skeleton.shared
+JFLEX =		$(JAVA) JFlex.Main -skel $(JFLEXSKELETON)
+endif
+
+ifndef MSGDEF
+MSGDEF =	$(JAVA) com.kopiright.compiler.tools.msggen.Main
+endif
+
+ifndef OPTDEF
+OPTDEF =	$(JAVA) com.kopiright.compiler.tools.optgen.Main
+ifdef RELEASE
+OPTDEF +=	--release=$(RELEASE)
+endif
+endif
+
+ifndef LEXINC
+LEXINC =	$(JAVA) com.kopiright.compiler.tools.include.Main
+endif
+
+ifndef JCC
+JCC =		$(JAVA) -mx64m com.kopiright.compiler.tools.antlr.compiler.Main
+endif
+
+## ----------------------------------------------------------------------
+## GRAMMAR HANDLING (GRAMMARS WITH ANTLR TOKENIZER)
+
+ifdef GRAMMAR
+JAVAFILES +=	$(GRAMMAR:%=%Parser) $(GRAMMAR:%=%TokenTypes)		\
+		$(GRAMMAR:%=%Lexer) $(GRAMMAR:%=%LexerTokenTypes)
+
+GENFILES +=	$(GRAMMAR:%=%Parser.java) $(GRAMMAR:%=%TokenTypes.java)	\
+		$(GRAMMAR:%=%Lexer.java) $(GRAMMAR:%=%LexerTokenTypes.java)	\
+		$(GRAMMAR:%=%TokenTypes.txt) $(GRAMMAR:%=%LexerTokenTypes.txt)
+
+
+$(GRAMMAR:%=%Parser.java) \
+$(GRAMMAR:%=%TokenTypes.java) \
+$(GRAMMAR:%=%Lexer.java) \
+$(GRAMMAR:%=%LexerTokenTypes.java): $(GRAMMAR:%=%.g)
+		$(JCC) $(GRAMMAR:%=%.g)
+endif
+
+## ----------------------------------------------------------------------
+## GRAMMAR HANDLING (GRAMMARS WITH SEPARATE TOKENIZER)
+
+ifdef GRM1VOC
+
+# Scanner, token types, ...
+JAVAFILES +=	$(GRM1VOC:%=%TokenTypes)
+GENFILES +=	$(GRM1VOC:%=%TokenTypes.java) $(GRM1VOC:%=%TokenTypes.txt)
+
+ifdef SCANNER1
+
+# JFlex based scanner
+
+GENFILES +=	$(GRM1VOC:%=%FlexRules.txt)
+
+$(GRM1VOC:%=%TokenTypes.java) \
+$(GRM1VOC:%=%TokenTypes.txt) \
+$(GRM1VOC:%=%FlexRules.txt): $(GRM1DEP:%=%.t) $(GRM1VOC:%=%.t)
+		$(TOKDEF) -ditf $(GRM1DEP:%=%.t) $(GRM1VOC:%=%.t)
+
+GENFILES +=	$(SCANNER1:%=%.flex)
+
+$(SCANNER1:%=%.flex): $(SCANNER1:%=%.flex.in) $(GRM1VOC:%=%FlexRules.txt)
+		$(LEXINC) $(SCANNER1:%=%.flex.in) -o $(SCANNER1:%=%.flex)
+
+JAVAFILES +=	$(SCANNER1:%=%Scanner)
+GENFILES +=	$(SCANNER1:%=%Scanner.java)
+
+$(SCANNER1:%=%Scanner.java):	$(SCANNER1:%=%.flex) $(JFLEXSKELETON)
+		$(JFLEX) $(SCANNER1:%=%.flex)
+
+else
+
+JAVAFILES +=	$(GRM1VOC:%=%Keywords)
+GENFILES +=	$(GRM1VOC:%=%)
+
+$(GRM1VOC:%=%TokenTypes.java) \
+$(GRM1VOC:%=%TokenTypes.txt) \
+$(GRM1VOC:%=%Keywords.java): $(GRM1DEP:%=%.t) $(GRM1VOC:%=%.t)
+		$(TOKDEF) -dik $(GRM1DEP:%=%.t) $(GRM1VOC:%=%.t)
+endif
+
+# Parser
+JAVAFILES +=	$(GRM1VOC:%=%Parser)
+GENFILES +=	$(GRM1VOC:%=%Parser.java)
+
+ifdef GRM1DEP
+GENFILES +=	expanded$(GRM1VOC).g
+endif
+
+$(GRM1VOC:%=%Parser.java): $(GRM1DEP:%=%.g) $(GRM1VOC:%=%.g) $(GRM1VOC:%=%TokenTypes.txt)
+ifdef GRM1DEP
+		$(JCC) $(GRM1DEP:%=%.g) $(GRM1VOC:%=%.g)
+else
+		$(JCC) $(GRM1VOC:%=%.g)
+endif
+
+endif
+
+## ----------------------------------------------------------------------
+
+ifdef GRM2VOC
+
+# Scanner, token types, ...
+JAVAFILES +=	$(GRM2VOC:%=%TokenTypes)
+GENFILES +=	$(GRM2VOC:%=%TokenTypes.java) $(GRM2VOC:%=%TokenTypes.txt)
+
+ifdef SCANNER2
+
+# JFlex based scanner
+
+GENFILES +=	$(GRM2VOC:%=%FlexRules.txt)
+
+$(GRM2VOC:%=%TokenTypes.java) \
+$(GRM2VOC:%=%TokenTypes.txt) \
+$(GRM2VOC:%=%FlexRules.txt): $(GRM2DEP:%=%.t) $(GRM2VOC:%=%.t)
+		$(TOKDEF) -ditf $(GRM2DEP:%=%.t) $(GRM2VOC:%=%.t)
+
+GENFILES +=	$(SCANNER2:%=%.flex)
+
+$(SCANNER2:%=%.flex): $(SCANNER2:%=%.flex.in) $(GRM2VOC:%=%FlexRules.txt)
+		$(LEXINC) $(SCANNER2:%=%.flex.in) -o $(SCANNER2:%=%.flex)
+
+JAVAFILES +=	$(SCANNER2:%=%Scanner)
+GENFILES +=	$(SCANNER2:%=%Scanner.java)
+
+$(SCANNER2:%=%Scanner.java):	$(SCANNER2:%=%.flex) $(JFLEXSKELETON)
+		$(JFLEX) $(SCANNER2:%=%.flex)
+
+else
+
+JAVAFILES +=	$(GRM2VOC:%=%Keywords)
+GENFILES +=	$(GRM2VOC:%=%Keywords.java)
+
+$(GRM2VOC:%=%TokenTypes.java) \
+$(GRM2VOC:%=%TokenTypes.txt) \
+$(GRM2VOC:%=%Keywords.java): $(GRM2DEP:%=%.t) $(GRM2VOC:%=%.t)
+		$(TOKDEF) -dik $(GRM2DEP:%=%.t) $(GRM2VOC:%=%.t)
+endif
+
+# Parser
+JAVAFILES +=	$(GRM2VOC:%=%Parser)
+GENFILES +=	$(GRM2VOC:%=%Parser.java)
+
+ifdef GRM2DEP
+GENFILES +=	expanded$(GRM2VOC).g
+endif
+
+$(GRM2VOC:%=%Parser.java): $(GRM2DEP:%=%.g) $(GRM2VOC:%=%.g) $(GRM2VOC:%=%TokenTypes.txt)
+ifdef GRM2DEP
+		$(JCC) $(GRM2DEP:%=%.g) $(GRM2VOC:%=%.g)
+else
+		$(JCC) $(GRM2VOC:%=%.g)
+endif
+
+endif
+
+## ----------------------------------------------------------------------
+## MESSAGES
+
+ifdef MESSAGES
+
+%Messages.java:		%Messages.xml
+			$(MSGDEF) $<
+#$(MESSAGES:%=%.java):	$(MESSAGES:%=%.msg)
+#			$(MSGDEF) $(MESSAGES:%=%.msg)
+
+JAVAFILES +=		$(MESSAGES)
+GENFILES +=		$(MESSAGES:%=%.java)
+
+endif
+
+## ----------------------------------------------------------------------
+## OPTIONS
+
+ifdef OPTIONS
+
+%Options.java:		%Options.xml
+			$(OPTDEF) $<
+#$(OPTIONS:%=%.java):	$(OPTIONS:%=%.xml)
+#			$(OPTDEF) $(OPTIONS:%=%.xml)
+
+JAVAFILES +=		$(OPTIONS)
+GENFILES +=		$(OPTIONS:%=%.java)
+
+endif
+
+## ----------------------------------------------------------------------
+## BUILD
+
+ifdef SUBDIRS
+
+build:
+		@for dir in $(SUBDIRS); do				\
+		    if [ -d $$dir ]; then				\
+			$(MAKE) -C $$dir JAVAC='$(JAVAC)' build || exit 1;	\
+		    fi;							\
+		done
+
+else
+
+ifndef NONSTANDARDBUILD
+
+build:		classes properties
+
+endif
+
+endif
+
+## ----------------------------------------------------------------------
+## BUILD CLASSFILES
+
+classes:	check-classroot classes.stamp
+
+ifndef NONSTANDARDCOMPILER
+
+classes.stamp:	$(JAVAFILES:%=%.java)
+		$(JAVAC) -d $(CLASSROOT) $?
+		touch classes.stamp
+
+endif
+
+## ----------------------------------------------------------------------
+## INSTALL PROPERTIES FILES
+
+properties:	check-classroot $(PROPERTIES:%=$(CLASSROOT)/%.properties)
+
+$(CLASSROOT)/%.properties:	%.properties
+		cp $< $@
+
+## ----------------------------------------------------------------------
+## CLEAN SOURCE DIRECTORY
+
+ifdef SUBDIRS
+
+clean:
+		rm -f *~
+		@for dir in $(SUBDIRS); do				\
+		    if [ -d $$dir ]; then				\
+			$(MAKE) -C $$dir clean;				\
+		    fi;							\
+		done
+
+else
+
+clean:
+		rm -f TAGS classes.stamp *~
+endif
+
+## ----------------------------------------------------------------------
+## CLEAN CLASSFILES
+
+ifdef SUBDIRS
+
+clean-classes:
+		@for dir in $(SUBDIRS); do				\
+		    if [ -d $$dir ]; then				\
+			$(MAKE) -C $$dir clean-classes;			\
+		    fi;							\
+		done
+
+else
+
+clean-classes:
+ifdef PACKAGE
+		rm -f $(CLASSROOT)/$(PACKAGE)/*.class
+		rm -f classes.stamp
+endif
+
+endif
+
+## ----------------------------------------------------------------------
+## CLEAN AND REMOVE GENERATED FILES
+
+ifdef SUBDIRS
+
+distclean:
+		@for dir in $(SUBDIRS); do				\
+		    if [ -d $$dir ]; then				\
+			$(MAKE) -C $$dir distclean;			\
+		    fi;							\
+		done
+
+else
+
+distclean:	clean
+		rm -f $(GENFILES)
+
+endif
+
+## ----------------------------------------------------------------------
+## MAKE JAVADOC DIRECTORIES
+
+ifdef SUBDIRS
+
+javadocsrcs:
+		@for dir in $(SUBDIRS); do				\
+		    if [ -d $$dir ]; then				\
+			$(MAKE) -C $$dir JAVADOCROOT='$(JAVADOCROOT)'	\
+				javadocsrcs;				\
+		    fi;							\
+		done
+
+else
+
+javadocsrcs:
+ifdef PACKAGE
+		mkdir -p $(JAVADOCROOT)/source/$(PACKAGE)
+		cp $(JAVAFILES:%=%.java) $(JAVADOCROOT)/source/$(PACKAGE)
+		touch $(JAVADOCROOT)/packages/`echo $(PACKAGE) | sed 's/\//./g'`
+endif
+endif
+
+## ----------------------------------------------------------------------
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.