#************************************************************** # # 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 OfficeDev examples 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=OfficeDevExamples OUT_APP_CLASS = $(OUT_CLASS)/$(EXAMPLE_NAME) APP1_NAME=ContextMenuInterceptor APP1_JAR=$(OUT_APP_CLASS)/$(APP1_NAME).jar APP2_NAME=Number_Formats APP2_JAR=$(OUT_APP_CLASS)/$(APP2_NAME).jar APP1_JAVAFILES = \ MenuElement.java \ OfficeConnect.java \ ContextMenuInterceptor.java \ APP1_CLASSFILES = $(patsubst %.java,$(OUT_APP_CLASS)/%.class,$(APP1_JAVAFILES)) APP1_CLASSNAMES = $(patsubst %.java,%.class,$(APP1_JAVAFILES)) SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(CLASSPATH)\ $(PATH_SEPARATOR)$(OUT_APP_CLASS)) # Targets .PHONY: ALL ALL : $(EXAMPLE_NAME) include $(SETTINGS)/stdtarget.mk $(OUT_APP_CLASS)/%.class : %.java -$(MKDIR) $(subst /,$(PS),$(@D)) $(SDK_JAVAC) $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_APP_CLASS) $< $(OUT_APP_CLASS)/%.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: $*>> $@ $(APP1_JAR) : $(OUT_APP_CLASS)/$(APP1_NAME).mf $(APP1_CLASSFILES) -$(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) $(APP2_JAR) : $(OUT_APP_CLASS)/$(APP2_NAME).mf $(OUT_APP_CLASS)/$(APP2_NAME).class -$(MKDIR) $(subst /,$(PS),$(@D)) +cd $(subst /,$(PS),$(OUT_APP_CLASS)) && $(SDK_JAR) cvfm $(@F) $(basename $(@F)).mf $(basename $(@F)).class +$(SDK_JAR) uvf $@ $(SDK_JAVA_UNO_BOOTSTRAP_FILES) $(EXAMPLE_NAME) : $(APP1_JAR) $(APP2_JAR) @echo -------------------------------------------------------------------------------- @echo Please use the following commands to execute the examples! @echo - @echo $(MAKE) $(APP1_NAME).run @echo $(MAKE) $(APP2_NAME).run @echo -------------------------------------------------------------------------------- %.run: $(OUT_APP_CLASS)/%.jar $(SDK_JAVA) -Dcom.sun.star.lib.loader.unopath="$(OFFICE_PROGRAM_PATH)" -jar $< .PHONY: clean clean : -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_APP_CLASS))