| # Copyright 2010 Google Inc. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| # License for the specific language governing permissions and limitations under | |
| # the License. | |
| include ../config.mk | |
| ifeq ($(OS),mac) | |
| RUN_PATH_FLAG = -executable_path | |
| DLL_SUFFIX = .dylib | |
| DLLFLAGS = -bundle $(ARCHCFLAGS) -mmacosx-version-min=10.5 | |
| CFLAGS += -DXP_MACOSX $(ARCHCFLAGS) | |
| CXXFLAGS += -DXP_MACOSX $(ARCHCFLAGS) | |
| # Mac puts multiple architectures into the same files | |
| TARGET_PLATFORM = Darwin-gcc3 | |
| CHROME_PATH ?= /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome | |
| PLATFORM_DIR_SUFFIX = gwtDev.plugin/Contents/MacOS/ | |
| else | |
| ifeq ($(OS),linux) | |
| RUN_PATH_FLAG = -rpath-link | |
| DLL_SUFFIX = .so | |
| DLLFLAGS = -shared -m$(FLAG32BIT) | |
| TARGET_PLATFORM = Linux_$(ARCH)-gcc3 | |
| CHROME_PATH ?= /opt/google/chrome/chrome | |
| else | |
| endif | |
| endif | |
| export FLAG32BIT | |
| CFLAGS += -DBROWSER_NPAPI -DXP_UNIX -fshort-wchar | |
| CXXFLAGS = $(CXXONLYFLAGS) $(CFLAGS) | |
| DIR = $(shell pwd) | |
| DEPEND = g++ -MM -MT'$$(OBJ_OUTDIR)/$(patsubst %.cpp,%.o,$(src))' \ | |
| -I. -I../common $(src) | |
| COMMON = ../common/libcommon$(FLAG32BIT).a | |
| OBJ_OUTDIR = build/$(TARGET_PLATFORM) | |
| EXTENSION_OUTDIR = prebuilt/gwt-dev-plugin | |
| PLATFORM_DIR = $(EXTENSION_OUTDIR)/$(TARGET_PLATFORM) | |
| PLATFORM_DIR_SUFFIX ?= "" | |
| INSTALLER_CRX = prebuilt/gwt-dev-plugin.crx | |
| DLL = $(OBJ_OUTDIR)/libGwtDevPlugin$(DLL_SUFFIX) | |
| GWTDEV_CRX_PEM ?= $(CURDIR)/gwt-dev-plugin.pem | |
| CHROME_COMMAND = $(CHROME_PATH) --pack-extension=$(CURDIR)/$(EXTENSION_OUTDIR) --no-message-box --user-data-dir=$(CURDIR)/$(OBJ_OUTDIR)/user-data --pack-extension-key=$(GWTDEV_CRX_PEM) | |
| #DLLFLAGS += | |
| VERSION ?= 1.0.$(shell ./getversion) | |
| ifeq ($(VERSION), 1.0.) | |
| $(error You must specify the version if you are not in an svn checkout) | |
| endif | |
| .PHONY: default all crx lib common clean depend install install-platform \ | |
| versioned-files devmodeoptions | |
| default:: lib versioned-files devmodeoptions | |
| all:: common lib install-platform crx | |
| lib:: $(OBJ_OUTDIR) $(EXTENSION_OUTDIR) $(DLL) | |
| crx:: $(EXTENSION_OUTDIR) $(INSTALLER_CRX) | |
| linuxplatforms: | |
| $(MAKE) lib ARCH=x86 | |
| $(MAKE) lib ARCH=x86_64 | |
| macplatforms: | |
| $(MAKE) lib | |
| HDRS = \ | |
| LocalObjectTable.h \ | |
| NPVariantWrapper.h \ | |
| Plugin.h \ | |
| ScriptableInstance.h \ | |
| mozincludes.h \ | |
| JavaObject.h | |
| SRCS = \ | |
| main.cpp \ | |
| Plugin.cpp \ | |
| LocalObjectTable.cpp \ | |
| JavaObject.cpp \ | |
| npn_bindings.cpp \ | |
| ScriptableInstance.cpp | |
| OBJS = $(patsubst %.cpp,$(OBJ_OUTDIR)/%.o,$(SRCS)) | |
| $(OBJS): $(OBJ_OUTDIR) | |
| $(OBJ_OUTDIR):: | |
| @mkdir -p $@ | |
| $(INSTALLER_CRX): $(GWTDEV_CRX_PEM) $(EXTENSION_OUTDIR) versioned-files | |
| $(shell $(CHROME_COMMAND)) | |
| versioned-files:: | |
| sed -e s/GWT_DEV_PLUGIN_VERSION/$(VERSION)/ manifest-template.json >prebuilt/gwt-dev-plugin/manifest.json | |
| #sed -e s/GWT_DEV_PLUGIN_VERSION/$(VERSION)/ updates-template.xml >prebuilt/updates.xml | |
| $(DLL): $(OBJS) $(COMMON) | |
| $(CXX) -m$(FLAG32BIT) -o $@ $(OBJS) $(COMMON) $(DLLFLAGS) | |
| @mkdir -p $(PLATFORM_DIR) | |
| cp $(DLL) $(PLATFORM_DIR)/$(PLATFORM_DIR_SUFFIX) | |
| $(OBJ_OUTDIR)/%.o: %.cpp | |
| $(CXX) $(CXXFLAGS) -c -o $@ -I. -I../common $< | |
| common $(COMMON): | |
| (cd ../common && $(MAKE)) | |
| clean: | |
| rm -rf build | |
| devmodeoptions: | |
| (ant -f DevModeOptions/build.xml prebuilt) | |
| depend: $(OBJ_OUTDIR) | |
| ($(foreach src,$(SRCS),$(DEPEND)) true) >>Makefile | |
| # makedepend -- $(CFLAGS) -- $(SRCS) | |
| # DO NOT DELETE | |
| $(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \ | |
| $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \ | |
| $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \ | |
| main.cpp ../common/Debug.h ../common/Platform.h ../common/DebugLevel.h \ | |
| mozincludes.h npapi/npapi.h npapi/nphostapi.h npapi/npapi.h \ | |
| npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h Plugin.h \ | |
| ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \ | |
| ../common/Socket.h ../common/Message.h ../common/ReturnMessage.h \ | |
| ../common/BrowserChannel.h ../common/Value.h ../common/SessionHandler.h \ | |
| ../common/LoadModuleMessage.h ../common/HostChannel.h LocalObjectTable.h \ | |
| ../common/SessionHandler.h ../common/HashMap.h ScriptableInstance.h \ | |
| ../common/scoped_ptr/scoped_ptr.h | |
| $(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \ | |
| $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \ | |
| $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \ | |
| Plugin.cpp Plugin.h ../common/Debug.h ../common/Platform.h \ | |
| ../common/DebugLevel.h mozincludes.h npapi/npapi.h npapi/nphostapi.h \ | |
| npapi/npapi.h npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h \ | |
| ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \ | |
| ../common/Socket.h ../common/Message.h ../common/ReturnMessage.h \ | |
| ../common/BrowserChannel.h ../common/Value.h ../common/SessionHandler.h \ | |
| ../common/LoadModuleMessage.h ../common/HostChannel.h LocalObjectTable.h \ | |
| ../common/SessionHandler.h ../common/HashMap.h ScriptableInstance.h \ | |
| ../common/InvokeMessage.h ../common/ReturnMessage.h \ | |
| ../common/ServerMethods.h ../common/scoped_ptr/scoped_ptr.h \ | |
| NPVariantWrapper.h ../common/Platform.h ../common/Value.h JavaObject.h | |
| $(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \ | |
| $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \ | |
| $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \ | |
| LocalObjectTable.cpp mozincludes.h npapi/npapi.h npapi/nphostapi.h \ | |
| npapi/npapi.h npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h \ | |
| LocalObjectTable.h ../common/Debug.h ../common/Platform.h \ | |
| ../common/DebugLevel.h | |
| $(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \ | |
| $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \ | |
| $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \ | |
| JavaObject.cpp ../common/Debug.h ../common/Platform.h \ | |
| ../common/DebugLevel.h JavaObject.h mozincludes.h npapi/npapi.h \ | |
| npapi/nphostapi.h npapi/npapi.h npapi/npruntime.h npapi/npruntime.h \ | |
| NPObjectWrapper.h Plugin.h ../common/HostChannel.h ../common/Debug.h \ | |
| ../common/ByteOrder.h ../common/Socket.h ../common/Message.h \ | |
| ../common/ReturnMessage.h ../common/BrowserChannel.h ../common/Value.h \ | |
| ../common/SessionHandler.h ../common/LoadModuleMessage.h \ | |
| ../common/HostChannel.h LocalObjectTable.h ../common/SessionHandler.h \ | |
| ../common/HashMap.h ScriptableInstance.h NPVariantWrapper.h \ | |
| ../common/Platform.h ../common/Value.h | |
| $(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \ | |
| $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \ | |
| $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \ | |
| npn_bindings.cpp ../common/Debug.h ../common/Platform.h \ | |
| ../common/DebugLevel.h mozincludes.h npapi/npapi.h npapi/nphostapi.h \ | |
| npapi/npapi.h npapi/npruntime.h npapi/npruntime.h NPObjectWrapper.h | |
| $(OBJ_OUTDIR)/main.o $(OBJ_OUTDIR)/Plugin.o \ | |
| $(OBJ_OUTDIR)/LocalObjectTable.o $(OBJ_OUTDIR)/JavaObject.o \ | |
| $(OBJ_OUTDIR)/npn_bindings.cpp $(OBJ_OUTDIR)/ScriptableInstance.o: \ | |
| ScriptableInstance.cpp ScriptableInstance.h ../common/Debug.h \ | |
| ../common/Platform.h ../common/DebugLevel.h mozincludes.h npapi/npapi.h \ | |
| npapi/nphostapi.h npapi/npapi.h npapi/npruntime.h npapi/npruntime.h \ | |
| NPObjectWrapper.h ../common/HostChannel.h ../common/Debug.h \ | |
| ../common/ByteOrder.h ../common/Socket.h ../common/Message.h \ | |
| ../common/ReturnMessage.h ../common/BrowserChannel.h ../common/Value.h \ | |
| ../common/SessionHandler.h ../common/LoadModuleMessage.h \ | |
| ../common/HostChannel.h LocalObjectTable.h ../common/SessionHandler.h \ | |
| ../common/HashMap.h ../common/InvokeMessage.h ../common/ReturnMessage.h \ | |
| ../common/ServerMethods.h ../common/AllowedConnections.h \ | |
| ../common/scoped_ptr/scoped_ptr.h NPVariantWrapper.h \ | |
| ../common/Platform.h ../common/Value.h Plugin.h JavaObject.h |