RetroZilla/extensions/java/xpcom/build/Makefile.in
2015-10-20 23:03:22 -04:00

110 lines
3.5 KiB
Makefile

# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Java XPCOM Bindings.
#
# The Initial Developer of the Original Code is
# IBM Corporation.
# Portions created by the Initial Developer are Copyright (C) 2004
# IBM Corporation. All Rights Reserved.
#
# Contributor(s):
# Javier Pedemonte (jhpedemonte@gmail.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
JARFILE = mozjava.jar
JARFILE_SRC = $(patsubst %.jar,%-src.jar,$(JARFILE))
GARBAGE += $(JARFILE) $(JARFILE_SRC)
GARBAGE_DIRS += _javagen org
JAVA_SRCS = \
XPCOM.java \
XPCOMJavaProxy.java \
XPCOMJavaProxyBase.java \
XPCOMException.java \
GeckoEmbed.java \
AppFileLocProvider.java \
$(NULL)
GEN_JAVA_SRCS = \
XPCOMError.java \
$(NULL)
include $(topsrcdir)/config/rules.mk
ifdef MOZ_DEBUG
JAVAC_FLAGS = -g
endif
ifeq ($(OS_ARCH),WINNT)
RUN =
OUTPUT_DIR = $(shell cygpath -w $(CURDIR)/_javagen/org/mozilla/xpcom)
else
RUN = $(DIST)/bin/run-mozilla.sh
OUTPUT_DIR = $(CURDIR)/_javagen/org/mozilla/xpcom
endif
_javagen/org/mozilla/xpcom/.iface_done:
@if test ! -d _javagen/org/mozilla/xpcom; then \
touch .done; \
$(INSTALL) -m 644 .done _javagen/org/mozilla/xpcom; \
fi
@echo Copying Java source files
@$(INSTALL) -m 644 $(addprefix $(srcdir)/../,$(JAVA_SRCS)) \
_javagen/org/mozilla/xpcom
@$(INSTALL) -m 644 $(addprefix ../,$(GEN_JAVA_SRCS)) \
_javagen/org/mozilla/xpcom
@echo Generating Java interface files
$(RUN) $(DIST)/bin/GenerateJavaInterfaces$(BIN_SUFFIX) -d $(OUTPUT_DIR)
@touch $@
# Use find and xargs for passing list of Java files to JAVAC. This avoids the
# "argument list too long" error on Windows when using *.java
org/mozilla/xpcom/.class_done: _javagen/org/mozilla/xpcom/.iface_done
@echo Compiling Java interface classes
find _javagen -name *.java | xargs $(JAVAC) $(JAVAC_FLAGS) -classpath . -d . \
-sourcepath _javagen
@touch $@
$(JARFILE): org/mozilla/xpcom/.class_done Makefile
$(JAR) cf $@ org
$(JARFILE_SRC): $(JARFILE)
$(JAR) cf $@ -C _javagen org
libs:: $(JARFILE) $(JARFILE_SRC)
$(INSTALL) $(IFLAGS1) $^ $(DIST)/bin