#
# The contents of this file are subject to the Netscape 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/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation.  Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): 
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL.  If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#

DEPTH		= ../../..
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE		= java
LIBRARY_NAME	= jsj
EXPORT_LIBRARY = 1
ifeq ($(OS_ARCH),WINNT)
LIBRARY_NAME	= jsj$(MOZ_BITS)$(VERSION_NUMBER)
MAPFILE		= $(LIBRARY_NAME).map
endif
REQUIRES	= js \
		  xpcom \
		  xpconnect \
		  $(NULL)

CSRCS		= \
		jsj.c \
		jsj_JSObject.c \
		jsj_JavaArray.c \
		jsj_JavaClass.c \
		jsj_JavaMember.c \
		jsj_JavaObject.c \
		jsj_JavaPackage.c \
		jsj_array.c \
		jsj_class.c \
		jsj_convert.c \
		jsj_field.c \
		jsj_hash.c \
		jsj_method.c \
		jsj_utils.c \
		$(NULL)

EXPORTS		= \
		$(srcdir)/jsjava.h \
		$(srcdir)/$(JNI_GEN_DIR)/netscape_javascript_JSObject.h \
		$(srcdir)/$(JNI_GEN_DIR)/netscape_javascript_JSException.h \
		$(NULL)


include $(topsrcdir)/config/config.mk

ifdef NSJVM
DIRS		= classes
JNI_GEN		= netscape.javascript.JSObject netscape.javascript.JSException
endif

ifdef MOZ_OJI

CPPSRCS		= \
		nsCLiveconnect.cpp \
		nsCLiveconnectFactory.cpp \
		$(NULL)

EXPORTS		+= \
		$(srcdir)/nsILiveconnect.h \
		$(srcdir)/nsISecureLiveconnect.h \
		$(srcdir)/nsISecurityContext.h \
		$(NULL)
endif

EXTRA_DSO_LDOPTS += \
		$(MOZ_COMPONENT_LIBS) \
		$(MOZ_JS_LIBS) \
		$(NULL)

include $(topsrcdir)/config/rules.mk

#
# Generate jsj_nodl.c (so that you can check it in)
# These make rules only works on IRIX...sigh
#
ifeq ($(OS_ARCH),IRIX)
jsj_nodl.c: stubs.o Makefile $(DEPTH)/config/nodl.pl
	rm -f $@
	$(PERL) $(DEPTH)/config/nodl.pl "jsj_nodl_tab" \
	    `nm -Bn stubs.o | egrep Java_.*_stub | awk '{print $$3;}'` > $@
endif

ifdef JAVA_OR_OJI
stubs.o: $(JNI_GEN_DIR)/netscape_javascript_JSObject.c $(JNI_GEN_DIR)/netscape_javascript_JSException.c
else
stubs.o:
endif

