1*b1cdbd2cSJim Jagielski#************************************************************** 2*b1cdbd2cSJim Jagielski# 3*b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski# distributed with this work for additional information 6*b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski# 11*b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski# 13*b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski# under the License. 19*b1cdbd2cSJim Jagielski# 20*b1cdbd2cSJim Jagielski#************************************************************** 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski############################################ 25*b1cdbd2cSJim Jagielski# 26*b1cdbd2cSJim Jagielski# sample makefile for extension packing 27*b1cdbd2cSJim Jagielski# 28*b1cdbd2cSJim Jagielski# NOTE: not all of this is required or useful 29*b1cdbd2cSJim Jagielski# for every specific case 30*b1cdbd2cSJim Jagielski# 31*b1cdbd2cSJim Jagielski############################################ 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim JagielskiPRJ=..$/.. 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim JagielskiPRJNAME=my_project 36*b1cdbd2cSJim JagielskiTARGET=some_unique_target 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski# --- Settings ----------------------------------------------------- 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski.INCLUDE: settings.mk 41*b1cdbd2cSJim Jagielski# it might be useful to have an extension wide include to set things 42*b1cdbd2cSJim Jagielski# like the EXTNAME variable (used for configuration processing) 43*b1cdbd2cSJim Jagielski# .INCLUDE : $(PRJ)$/source$/<extension name>$/<extension_name>.pmk 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski# --- Files -------------------------------------------------------- 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski# name for uniq directory 48*b1cdbd2cSJim JagielskiEXTENSIONNAME:=MyExtension 49*b1cdbd2cSJim JagielskiEXTENSION_ZIPNAME:=MyExtension 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski.IF "$(ENABLE_MYEXTENSION)" != "YES" 52*b1cdbd2cSJim Jagielski@all: 53*b1cdbd2cSJim Jagielski @echo "$(EXTENSIONNAME) - extension disabled." 54*b1cdbd2cSJim Jagielski.ENDIF 55*b1cdbd2cSJim Jagielski.IF "$(SOLAR_JAVA)"=="" 56*b1cdbd2cSJim Jagielski@all: 57*b1cdbd2cSJim Jagielski @echo "$(EXTENSIONNAME) - extension requires java." 58*b1cdbd2cSJim Jagielski.ENDIF 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski# some other targets to be done 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielski# --- Extension packaging ------------------------------------------ 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski# these variables are optional and defaulted to the current directory 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim JagielskiDESCRIPTION_SRC:=config$/description.xml 70*b1cdbd2cSJim JagielskiMANIFEST_SRC:=config$/manifest.xml 71*b1cdbd2cSJim JagielskiCOMPONENT_CONFIGDIR:=config 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski# ------------------------------------------------------------------ 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski# optional: generated list of .xcu files contained in the extension 76*b1cdbd2cSJim JagielskiCOMPONENT_MANIFEST_GENERIC:=TRUE 77*b1cdbd2cSJim JagielskiCOMPONENT_MANIFEST_SEARCHDIR:=registry 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski# variables to trigger predifined targets 81*b1cdbd2cSJim Jagielski# just copy: 82*b1cdbd2cSJim JagielskiCOMPONENT_FILES= \ 83*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/xMyExtension$(EXECPOST) \ 84*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/some_local.html 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski# localized configuration files 87*b1cdbd2cSJim JagielskiCOMPONENT_MERGED_XCU= \ 88*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/Addons.xcu \ 89*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/extension$/MyExtension.xcu 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski# other configuration files 92*b1cdbd2cSJim JagielskiCOMPONENT_XCU= \ 93*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/registry$/data$/org$/openoffice$/Office$/Data.xcu 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski# location of configurationfiles inside extension, 96*b1cdbd2cSJim Jagielski# "." for flat .xcu files 97*b1cdbd2cSJim Jagielski#COMPONENT_CONFIGDEST=. 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski# native libraries 100*b1cdbd2cSJim JagielskiCOMPONENT_LIBRARIES= \ 101*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/$(SHL1TARGET)$(DLLPOST) 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski# jar files 104*b1cdbd2cSJim JagielskiCOMPONENT_JARFILES = \ 105*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/MyExtension.jar 106*b1cdbd2cSJim Jagielski 107*b1cdbd2cSJim Jagielski# disable fetching default OOo license text 108*b1cdbd2cSJim Jagielski#CUSTOM_LICENSE=my_license.txt 109*b1cdbd2cSJim Jagielski# override default license destination 110*b1cdbd2cSJim Jagielski#PACKLICS= $(EXTENSIONDIR)$/registration$/$(CUSTOM_LICENSE) 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski# ------------------------------- 113*b1cdbd2cSJim Jagielski# variables for own targets specific to this extension; no common 114*b1cdbd2cSJim Jagielski# target available... 115*b1cdbd2cSJim Jagielski# 116*b1cdbd2cSJim JagielskiCONVERTER_FILE= \ 117*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/xMyExtension$(EXECPOST) \ 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim JagielskiCOMPONENT_DIALOGS= \ 120*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/basic$/Module1.xba \ 121*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/basic$/TargetChooser.xdl \ 122*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/basic$/dialog.xlb \ 123*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/basic$/impress.png \ 124*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/basic$/script.xlb \ 125*b1cdbd2cSJim Jagielski $(EXTENSIONDIR)$/basic$/writer.png 126*b1cdbd2cSJim Jagielski 127*b1cdbd2cSJim Jagielski# add own targets to packing dependencies (need to be done before 128*b1cdbd2cSJim Jagielski# packing the xtension 129*b1cdbd2cSJim JagielskiEXTENSION_PACKDEPS=$(CONVERTER_FILE) $(COMPONENT_DIALOGS) makefile.mk $(CUSTOM_LICENSE) 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski# global settings for extension packing 132*b1cdbd2cSJim Jagielski.INCLUDE : extension_pre.mk 133*b1cdbd2cSJim Jagielski.INCLUDE : target.mk 134*b1cdbd2cSJim Jagielski# global targets for extension packing 135*b1cdbd2cSJim Jagielski.INCLUDE : extension_post.mk 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski# own targets 138*b1cdbd2cSJim Jagielski$(CONVERTER_FILE) : $(SOLARBINDIR)$/$$(@:f) 139*b1cdbd2cSJim Jagielski @@-$(MKDIRHIER) $(@:d) 140*b1cdbd2cSJim Jagielski $(COPY) $< $@ 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim Jagielski$(COMPONENT_DIALOGS) : dialogs$/$$(@:f) 143*b1cdbd2cSJim Jagielski @@-$(MKDIRHIER) $(@:d) 144*b1cdbd2cSJim Jagielski $(COPY) $< $@ 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski$(CUSTOM_LICENSE) : my_license.txt 147*b1cdbd2cSJim Jagielski @@-$(MKDIRHIER) $(@:d) 148*b1cdbd2cSJim Jagielski $(COPY) $< $@ 149*b1cdbd2cSJim Jagielski 150