133 lines
3.9 KiB
Makefile
Executable File
133 lines
3.9 KiB
Makefile
Executable File
# ***** 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) 2006
|
|
# 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@ ; @srcdir@/..
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
MODULE = javaxpcom
|
|
LIBRARY_NAME = javaxpcom
|
|
LIBXUL_LIBRARY = 1
|
|
FORCE_STATIC_LIB = 1
|
|
|
|
ifndef MOZ_ENABLE_LIBXUL
|
|
DEFINES += -DIMPL_XREAPI
|
|
endif
|
|
|
|
REQUIRES = xpcom \
|
|
string \
|
|
xulapp \
|
|
$(NULL)
|
|
|
|
CPPSRCS = \
|
|
nsAppFileLocProviderProxy.cpp \
|
|
nsJavaInterfaces.cpp \
|
|
nsJavaWrapper.cpp \
|
|
nsJavaXPTCStub.cpp \
|
|
nsJavaXPTCStubWeakRef.cpp \
|
|
nsJavaXPCOMBindingUtils.cpp \
|
|
$(NULL)
|
|
|
|
JARFILE = javaxpcom.jar
|
|
JARFILE_SRC = $(patsubst %.jar,%-src.jar,$(JARFILE))
|
|
|
|
JAVA_SRCS = \
|
|
$(srcdir)/../XPCOMJavaProxy.java \
|
|
$(srcdir)/../XPCOMJavaProxyBase.java \
|
|
$(srcdir)/GREImpl.java \
|
|
$(srcdir)/XPCOMImpl.java \
|
|
$(srcdir)/JavaXPCOMMethods.java \
|
|
$(NULL)
|
|
|
|
LOCAL_INCLUDES = -I$(JAVA_INCLUDE_PATH)
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
LOCAL_INCLUDES += -I$(JAVA_INCLUDE_PATH)/win32
|
|
else
|
|
LOCAL_INCLUDES += -I$(JAVA_INCLUDE_PATH)/linux
|
|
endif
|
|
|
|
# necessary until we do 'cvs move' to put files in correct directories
|
|
LOCAL_INCLUDES += -I$(srcdir)
|
|
|
|
GARBAGE += $(JARFILE) $(JARFILE_SRC) java.files .done
|
|
GARBAGE_DIRS += _javagen org
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
RUN =
|
|
SEP = ;
|
|
else
|
|
RUN = $(DIST)/bin/run-mozilla.sh
|
|
SEP = :
|
|
endif
|
|
|
|
_javagen/org/mozilla/xpcom/internal/.iface_done: $(JAVA_SRCS)
|
|
@if test ! -d _javagen/org/mozilla/xpcom/internal; then \
|
|
touch .done; \
|
|
$(INSTALL) -m 644 .done _javagen/org/mozilla/xpcom/internal; \
|
|
fi
|
|
@echo Copying Java source files
|
|
@$(INSTALL) -m 644 $(JAVA_SRCS) \
|
|
_javagen/org/mozilla/xpcom/internal
|
|
@touch $@
|
|
|
|
# Using the temporary "java.files" avoids an "argument list too long"
|
|
# error on Windows when using *.java
|
|
org/mozilla/xpcom/internal/.class_done: _javagen/org/mozilla/xpcom/internal/.iface_done
|
|
@echo Compiling Java implementation classes
|
|
find _javagen -name "*.java" > java.files
|
|
$(JAVAC) $(JAVAC_FLAGS) \
|
|
-classpath ".$(SEP)../interfaces/MozillaInterfaces.jar" \
|
|
-d . -sourcepath _javagen @java.files
|
|
@touch $@
|
|
|
|
$(JARFILE): org/mozilla/xpcom/internal/.class_done Makefile
|
|
$(JAR) cf $@ org
|
|
|
|
$(JARFILE_SRC): $(JARFILE)
|
|
$(JAR) cf $@ -C _javagen org
|
|
|
|
#libs:: $(JARFILE)
|
|
# $(INSTALL) $(IFLAGS1) $^ $(DIST)/bin
|
|
jarfile:: $(JARFILE) $(JARFILE_SRC)
|
|
$(INSTALL) $(IFLAGS1) $^ $(DIST)/bin
|
|
|