ra=edburns author=Nikolay Igotti Major cleanup and new component architecture for Waterfall. git-svn-id: svn://10.0.0.236/trunk@99134 18797224-902f-48f8-a5cc-f745e15eee43
191 lines
5.3 KiB
Plaintext
191 lines
5.3 KiB
Plaintext
#
|
|
# 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 The Waterfall Java Plugin Module
|
|
#
|
|
# The Initial Developer of the Original Code is Sun Microsystems Inc
|
|
# Portions created by Sun Microsystems Inc are Copyright (C) 2001
|
|
# All Rights Reserved.
|
|
#
|
|
# $Id: makefile.win,v 1.2 2001-07-12 19:57:43 edburns%acm.org Exp $
|
|
#
|
|
# Contributor(s):
|
|
#
|
|
# Nikolay N. Igotti <nikolay.igotti@Sun.Com>
|
|
#
|
|
|
|
BUILDDIR=.
|
|
ROOTDIR=..\..
|
|
|
|
CC=cl
|
|
CXX=cl
|
|
CP=copy
|
|
DEL=del/f/q
|
|
DELTREE=del/S/Q/F
|
|
MKDIR=mkdir
|
|
ZIP=zip
|
|
LD = link
|
|
MAKE=nmake -nologo
|
|
|
|
# type of really used JVM
|
|
# values: _JVMP_IBMJVM, _JVMP_SUNJVM
|
|
#JVMTYPE = _JVMP_IBMJVM
|
|
JVMTYPE = _JVMP_SUNJVM
|
|
# kind of JVM: classic, hotspot
|
|
JVMKIND = hotspot
|
|
#JVMKIND = classic
|
|
THREADTYPE = _JVMP_WIN32THREADS
|
|
ARCH=win32
|
|
|
|
|
|
CCDEBUG = -MDd -Zi -Od
|
|
#CCDEBUG =
|
|
INCLUDES = -I$(ROOTDIR)\include -I..\..\public -I..\..\public\$(ARCH) -I$(WFJDKHOME)\include -I$(WFJDKHOME)\include\$(ARCH)
|
|
# XXX: hardcoded platform
|
|
EXTRA_CFLAGS = $(CCDEBUG) -D$(JVMTYPE) -D$(THREADTYPE) -DXP_WIN32 -DARCH="\"win32\"" -DWIN32 -DJVMKIND="\"$(JVMKIND)\"" -DPLATFORM="\"i386\""
|
|
|
|
CFLAGS = -nologo -DWIN32 $(PICFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) -WX
|
|
CXXFLAGS = $(CFLAGS) -I$(HOSTINCPATH) -I$(HOSTINCPATH)\glib -I$(HOSTINCPATH)\gdk -DXP_WIN32
|
|
LIBFLAGS = -nologo -debug -incremental:NO
|
|
|
|
PLUGINCSRCDIR = ..\..\src\plugin
|
|
PLUGINMDDIR = ..\..\src\plugin\win32
|
|
|
|
PLUGINCSRCS = java_plugin.c jpthreads.c
|
|
# source of native methods for Plugin
|
|
PLUGINNATIVESRC = native.c
|
|
PLUGIN_DLL = jvmp.dll
|
|
|
|
# well, just a hack
|
|
PLUGIN_NATIVE_DLL=JVMPnatives.dll
|
|
|
|
# source of Mozilla-dependent module - should be separated
|
|
MOZEXTSRCDIR = ..\..\src\plugin\mozilla
|
|
MOZEXTCSRC = wfe_mozilla.c wfm6_native.c
|
|
MOZEXT_DLL = wf_moz6.dll
|
|
TESTEXTSRCDIR = ..\..\src\host
|
|
TESTEXTCSRC = test_extension.c
|
|
TESTEXT_DLL = wf_test.dll
|
|
|
|
HOSTCPPSRCDIR = ..\..\src\host
|
|
HOSTCPPSRCS = host.cpp
|
|
HOSTPROG=plugin_host.exe
|
|
|
|
PLUGINOBJS=$(PLUGINCSRCS:.c=.obj)
|
|
PLUGIN_NATIVE_OBJS=$(PLUGINNATIVESRC:.c=.obj)
|
|
HOSTOBJS=$(HOSTCPPSRCS:.cpp=.obj)
|
|
MOZEXTOBJS = $(MOZEXTCSRC:.c=.obj)
|
|
NCEXTOBJS = $(NCEXTCSRC:.c=.obj)
|
|
TESTEXTOBJS=$(TESTEXTCSRC:.c=.obj)
|
|
OBJDIR =
|
|
|
|
INSTALLER = installer.exe
|
|
INSTSRCDIR = ..\..\src\plugin\win32
|
|
INSTSRC = installer.c
|
|
INSTOBJS = $(INSTSRC:.c=.obj)
|
|
|
|
PLUGINLIBS=user32.lib
|
|
INSTLIBS=user32.lib
|
|
|
|
HOSTLIBS=$(HOSTLIBPATH)\glib-1.3.lib $(HOSTLIBPATH)\gtk-1.3.lib $(HOSTLIBPATH)\gdk-1.3.lib
|
|
|
|
#instead of vpath
|
|
{$(PLUGINCSRCDIR)}.c{$(OBJDIR)}.obj:
|
|
@$(CC) $(CFLAGS) -D_JVMP_IMPLEMENTATION -c -Fo$@ $<
|
|
{$(PLUGINMDDIR)}.c{$(OBJDIR)}.obj:
|
|
@$(CC) $(CFLAGS) -D_JVMP_IMPLEMENTATION -c -Fo$@ $<
|
|
{$(HOSTCPPSRCDIR)}.cpp{$(OBJDIR)}.obj:
|
|
@$(CXX) $(CXXFLAGS) -c -Fo$@ $<
|
|
{$(MOZEXTSRCDIR)}.c{$(OBJDIR)}.obj:
|
|
@$(CC) $(CFLAGS) -c -Fo$@ $<
|
|
{$(TESTEXTSRCDIR)}.c{$(OBJDIR)}.obj:
|
|
@$(CC) $(CFLAGS) -c -Fo$@ $<
|
|
{$(INSTSRCDIR)}.c{$(OBJDIR)}.obj:
|
|
@$(CC) $(CFLAGS) -c -Fo$@ $<
|
|
|
|
|
|
all: makefile.win ext plugin
|
|
release: all
|
|
@ cd ..\java
|
|
@ $(MAKE) -fmakefile.win release
|
|
@ cd ..\win32
|
|
-@ $(DELTREE) wfrelease > NUL
|
|
@ IF NOT EXIST wfrelease $(MKDIR) wfrelease
|
|
@ IF NOT EXIST wfrelease\ext $(MKDIR) wfrelease\ext
|
|
@ $(CP) wf.jar wfrelease > NUL
|
|
@ $(CP) $(PLUGIN_DLL) wfrelease > NUL
|
|
@ $(CP) $(MOZEXT_DLL) wfrelease > NUL
|
|
@ $(CP) $(PLUGIN_NATIVE_DLL) wfrelease > NUL
|
|
@ $(CP) plugin.policy wfrelease > NUL
|
|
@ $(CP) ext\*.jar wfrelease\ext > NUL
|
|
@ $(ZIP) -r wf-bin.zip wfrelease
|
|
@ echo "Release is wf-bin.zip"
|
|
.SUFFIXES:
|
|
.SUFFIXES: .cpp .c .obj
|
|
|
|
.cpp.obj:
|
|
$(CXX) $(CFLAGS) -c $<
|
|
plugin_no_java: plugin_objs plugin_dll plugin_native_dll plugin_exec plugin.policy $(INSTALLER)
|
|
plugin: plugin_no_java java_classes
|
|
plugin_objs: $(PLUGINOBJS) $(PLUGIN_NATIVE_OBJS)
|
|
plugin_dll: $(PLUGIN_DLL)
|
|
ext: $(MOZEXT_DLL) $(TESTEXT_DLL)
|
|
$(MOZEXT_DLL): $(MOZEXTOBJS)
|
|
@echo linking $@
|
|
@$(LD) $(LIBFLAGS) -dll -def:wfe_mozilla.def -out:$@ $(MOZEXTOBJS)
|
|
$(TESTEXT_DLL): $(TESTEXTOBJS)
|
|
@echo linking $@
|
|
@$(LD) $(LIBFLAGS) -dll -def:wfe_test.def -out:$(TESTEXT_DLL) $(TESTEXTOBJS)
|
|
$(PLUGIN_DLL): $(PLUGINOBJS)
|
|
@echo linking $@
|
|
@$(LD) $(LIBFLAGS) -dll -def:jvmp.def -out:$@ $(PLUGINOBJS) $(PLUGINLIBS)
|
|
plugin_native_dll: $(PLUGIN_NATIVE_DLL)
|
|
$(PLUGIN_NATIVE_DLL): $(PLUGIN_NATIVE_OBJS)
|
|
@echo linking $@
|
|
@$(LD) $(LIBFLAGS) -dll -out:$@ $(PLUGIN_NATIVE_OBJS)
|
|
@$(CP) $@ JVMPnatives_g.dll > NUL
|
|
plugin.policy: ..\..\java\plugin.policy
|
|
@$(CP) ..\..\java\plugin.policy . > NUL
|
|
java_classes:
|
|
@ echo Making Java classes
|
|
@ cd ..\java
|
|
@$(MAKE) -fmakefile.win all
|
|
|
|
|
|
host_prog: $(HOSTOBJS) $(HOSTPROG)
|
|
|
|
host_objs: $(HOSTOBJS)
|
|
$(HOSTPROG): $(HOSTOBJS)
|
|
@echo linking $@
|
|
@$(LD) $(LIBFLAGS) -out:$(HOSTPROG) $(HOSTOBJS) $(HOSTLIBS)
|
|
|
|
clean:
|
|
@echo Removing compiled files..
|
|
@-del/Q $(PLUGINOBJS) $(HOSTOBJS) *.exe *.dll *.obj
|
|
@cd ..\java
|
|
@$(MAKE) -fmakefile.win clean
|
|
|
|
|
|
$(INSTALLER): $(INSTOBJS)
|
|
@echo Linking installer
|
|
@$(LD) $(LIBFLAGS) -out:$(INSTALLER) $(INSTOBJS) $(INSTLIBS)
|
|
|
|
plugin_exec:
|
|
.PHONY: java_classes clean all host_objs plugin_native_dll plugin_exec release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|