#************************************************************** # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you 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. # #************************************************************** # Builds the OfficeDevDestopEnvironment example of the Developers Guide. PRJ=../../../.. SETTINGS=$(PRJ)/settings include $(SETTINGS)/settings.mk include $(SETTINGS)/std.mk include $(SETTINGS)/dk.mk # Define non-platform/compiler specific settings EXAMPLE_NAME=OfficeDevDesktopEnv OUT_APP_CLASS = $(OUT_CLASS)/$(EXAMPLE_NAME) APP1_NAME=DesktopExample APP1_JAR=$(OUT_APP_CLASS)/$(APP1_NAME).jar APP1_JAVAFILES = \ CustomizeView.java \ Desk.java \ DocumentView.java \ FunctionHelper.java \ Interceptor.java \ IOnewayLink.java \ IShutdownListener.java \ JavaWindowPeerFake.java \ NativeView.java \ OfficeConnect.java \ OnewayExecutor.java \ StatusListener.java \ StatusView.java \ ViewContainer.java APP1_CLASSFILES = $(patsubst %.java,$(OUT_APP_CLASS)/%.class,$(APP1_JAVAFILES)) APP1_CLASSNAMES = $(patsubst %.java,%.class,$(APP1_JAVAFILES)) \ CustomizeView$(QUOTE)$$ClickListener.class \ DocumentView$(QUOTE)$$1.class \ DocumentView$(QUOTE)$$Reactor.class SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(CLASSPATH)\ $(PATH_SEPARATOR)$(OUT_APP_CLASS)) ifeq "$(OS)" "WIN" SUBDIR= nativelib/windows else SUBDIR= nativelib/unix endif # Targets .PHONY: ALL ALL : $(SUBDIR) \ $(EXAMPLE_NAME) include $(SETTINGS)/stdtarget.mk .PHONY : $(SUBDIR) $(SUBDIR) : $(MAKE) -C $@ $(APP1_CLASSFILES) : $(APP1_JAVAFILES) -$(MKDIR) $(subst /,$(PS),$(@D)) $(SDK_JAVAC) $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_APP_CLASS) $(APP1_JAVAFILES) $(OUT_APP_CLASS)/$(APP1_NAME).mf : -$(MKDIR) $(subst /,$(PS),$(@D)) @echo Main-Class: com.sun.star.lib.loader.Loader> $@ $(ECHOLINE)>> $@ @echo Name: com/sun/star/lib/loader/Loader.class>> $@ @echo Application-Class: Desk>> $@ $(APP1_JAR) : $(OUT_APP_CLASS)/$(APP1_NAME).mf $(APP1_CLASSFILES) -$(DEL) $(subst \\,\,$(subst /,$(PS),$@)) -$(MKDIR) $(subst /,$(PS),$(@D)) +cd $(subst /,$(PS),$(OUT_APP_CLASS)) && $(SDK_JAR) cvfm $(@F) $(basename $(@F)).mf $(APP1_CLASSNAMES) +$(SDK_JAR) uvf $@ $(SDK_JAVA_UNO_BOOTSTRAP_FILES) $(EXAMPLE_NAME) : $(APP1_JAR) @echo -------------------------------------------------------------------------------- @echo Please use the following command to execute the example! @echo - @echo $(MAKE) DesktopExample.run @echo ------ @echo If you want to run the $(JAR1_JAR) file please set your @echo CLASSPATH = $(SDK_CLASSPATH) @echo Start the example with jar -jar $(JAR1_JAR) @echo -------------------------------------------------------------------------------- %.run: $(OUT_APP_CLASS)/%.jar $(SDK_JAVA) -Dcom.sun.star.lib.loader.unopath="$(OFFICE_PROGRAM_PATH)" -jar $< .PHONY: clean clean : $(MAKE) -C $(SUBDIR) clean -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_APP_CLASS))