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 JagielskiPRJNAME=pyuno 22*b1cdbd2cSJim JagielskiPRJ=.. 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski.INCLUDE : settings.mk 25*b1cdbd2cSJim Jagielski.INCLUDE : pyversion.mk 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim JagielskiROOT=$(MISC)$/pyuno-doc 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim JagielskiFILES=\ 31*b1cdbd2cSJim Jagielski $(ROOT)$/python-bridge.html \ 32*b1cdbd2cSJim Jagielski $(ROOT)$/customized_setup.png \ 33*b1cdbd2cSJim Jagielski $(ROOT)$/mode_component.png \ 34*b1cdbd2cSJim Jagielski $(ROOT)$/mode_ipc.png \ 35*b1cdbd2cSJim Jagielski $(ROOT)$/modes.sxd \ 36*b1cdbd2cSJim Jagielski $(ROOT)$/optional_components.png \ 37*b1cdbd2cSJim Jagielski $(ROOT)$/samples$/swriter.py \ 38*b1cdbd2cSJim Jagielski $(ROOT)$/samples$/swritercomp.py \ 39*b1cdbd2cSJim Jagielski $(ROOT)$/samples$/ooextract.py \ 40*b1cdbd2cSJim Jagielski $(ROOT)$/samples$/biblioaccess.py \ 41*b1cdbd2cSJim Jagielski $(ROOT)$/samples$/swritercompclient.py \ 42*b1cdbd2cSJim Jagielski $(ROOT)$/samples$/hello_world_pyuno.zip 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski$(MISC)$/pyuno-doc.zip : dirs $(FILES) 47*b1cdbd2cSJim Jagielski -rm -f $@ 48*b1cdbd2cSJim Jagielski cd $(MISC) && zip -r pyuno-doc.zip pyuno-doc 49*b1cdbd2cSJim Jagielskidirs .PHONY : 50*b1cdbd2cSJim Jagielski -mkdir $(ROOT) 51*b1cdbd2cSJim Jagielski -mkdir $(ROOT)$/samples 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski 54*b1cdbd2cSJim Jagielski$(ROOT)$/samples$/hello_world_pyuno.zip : hello_world_comp.py Addons.xcu 55*b1cdbd2cSJim Jagielski -rm -f $@ 56*b1cdbd2cSJim Jagielski zip $@ hello_world_comp.py Addons.xcu 57*b1cdbd2cSJim Jagielski 58*b1cdbd2cSJim Jagielski$(ROOT)$/samples$/% : % 59*b1cdbd2cSJim Jagielski -rm -f $@ 60*b1cdbd2cSJim Jagielski cat $? > $@ 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski$(ROOT)$/% : ..$/doc$/% 63*b1cdbd2cSJim Jagielski -rm -f $@ 64*b1cdbd2cSJim Jagielski cat $? > $@ 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski#VERSION=0.9.4 67*b1cdbd2cSJim Jagielski#PYDIRNAME=python-$(PYVERSION) 68*b1cdbd2cSJim Jagielski#.IF "$(GUI)"=="WNT" 69*b1cdbd2cSJim Jagielski#INISUFFIX=.ini 70*b1cdbd2cSJim Jagielski#BATCHSUFFIX=.bat 71*b1cdbd2cSJim Jagielski#ENVSUFFIX=.bat 72*b1cdbd2cSJim Jagielski#PLATFORM=win32 73*b1cdbd2cSJim Jagielski#EXESUFFIX=.exe 74*b1cdbd2cSJim Jagielski#PACKSUFFIX=.zip 75*b1cdbd2cSJim Jagielski#MYCOPY=copy 76*b1cdbd2cSJim Jagielski#DOLLAR_SIGN=$$ 77*b1cdbd2cSJim Jagielski#.ELSE 78*b1cdbd2cSJim Jagielski#DOLLAR_SIGN=\$$ 79*b1cdbd2cSJim Jagielski#PACKSUFFIX=.tar.gz 80*b1cdbd2cSJim Jagielski#MYCOPY=cp 81*b1cdbd2cSJim Jagielski#BATCHSUFFIX=.sh 82*b1cdbd2cSJim Jagielski#ENVSUFFIX=.tcsh 83*b1cdbd2cSJim Jagielski#INISUFFIX=rc 84*b1cdbd2cSJim Jagielski#PYUNOMODULE=$(DESTROOT)$/program$/pyuno$(DLLPOST) 85*b1cdbd2cSJim Jagielski#PYTHONLIBRARY=$(DESTROOT)$/program$/$(DLLPRE)python$(DLLPOST).$(PYVERSION) 86*b1cdbd2cSJim Jagielski#PYRUNTIMELINK=$(DESTROOT)$/program$/python 87*b1cdbd2cSJim Jagielski#PYRUNTIMELIBLINK1=$(DESTROOT)$/program$/libpython.so.2 88*b1cdbd2cSJim Jagielski#PYRUNTIMELIBLINK2=$(DESTROOT)$/program$/libpython.so 89*b1cdbd2cSJim Jagielski# 90*b1cdbd2cSJim Jagielski#.IF "$(OS)$(CPU)"=="SOLARISS" 91*b1cdbd2cSJim Jagielski#PLATFORM=solaris-sparc 92*b1cdbd2cSJim Jagielski#.ELIF "$(OS)$(CPU)"=="SOLARISI" 93*b1cdbd2cSJim Jagielski#PLATFORM=solaris-x86 94*b1cdbd2cSJim Jagielski#.ELIF "$(OS)$(CPU)"=="LINUXI" 95*b1cdbd2cSJim Jagielski#PLATFORM=linux-x86 96*b1cdbd2cSJim Jagielski#.ELIF "$(OS)$(CPU)"=="LINUXP" 97*b1cdbd2cSJim Jagielski#PLATFORM=linux-ppc 98*b1cdbd2cSJim Jagielski#.ELSE 99*b1cdbd2cSJim Jagielski#error please add your platform 100*b1cdbd2cSJim Jagielski#.ENDIF 101*b1cdbd2cSJim Jagielski# 102*b1cdbd2cSJim Jagielski#.ENDIF 103*b1cdbd2cSJim Jagielski# 104*b1cdbd2cSJim Jagielski#DESTROOT=$(BIN)$/root 105*b1cdbd2cSJim Jagielski# 106*b1cdbd2cSJim Jagielski#FINDDIRS=$(subst,/,$/ $(shell +cd $(SOLARLIBDIR)$/python && $(FIND) . -type d)) 107*b1cdbd2cSJim Jagielski#FINDLIBFILES=$(subst,/,$/ $(shell +cd $(SOLARLIBDIR)$/python && $(FIND) . -type f)) 108*b1cdbd2cSJim Jagielski# 109*b1cdbd2cSJim Jagielski#PYRUNTIME_DIRS=\ 110*b1cdbd2cSJim Jagielski# $(DESTROOT) \ 111*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program \ 112*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program/pydemo \ 113*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/$(PYDIRNAME) \ 114*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/$(PYDIRNAME)$/bin \ 115*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/$(PYDIRNAME)$/lib \ 116*b1cdbd2cSJim Jagielski# $(foreach,i,$(FINDDIRS) $(DESTROOT)$/program$/$(PYDIRNAME)$/lib$/$(i)) 117*b1cdbd2cSJim Jagielski# 118*b1cdbd2cSJim Jagielski# 119*b1cdbd2cSJim Jagielski#FILES=\ 120*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/$(DLLPRE)pyuno$(DLLPOST) \ 121*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pythonloader.uno$(DLLPOST) \ 122*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pyuno$(INISUFFIX) \ 123*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/uno.py \ 124*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/unohelper.py \ 125*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pythonloader.py \ 126*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pyuno_setup$(BATCHSUFFIX) \ 127*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/regcomp$(EXESUFFIX) \ 128*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pyunoenv$(ENVSUFFIX) \ 129*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/biblioaccess.py \ 130*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/ooextract.py \ 131*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/swriter.py \ 132*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/swritercomp.py \ 133*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/swritercompclient.py \ 134*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/swritercompclient.py \ 135*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/pydemo$/python-bridge.html \ 136*b1cdbd2cSJim Jagielski# $(PYUNOMODULE) \ 137*b1cdbd2cSJim Jagielski# $(PYTHONLIBRARY) \ 138*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/$(PYDIRNAME)$/bin$/python$(EXESUFFIX) \ 139*b1cdbd2cSJim Jagielski# $(foreach,i,$(FINDLIBFILES) $(DESTROOT)$/program$/$(PYDIRNAME)$/lib$/$(i)) \ 140*b1cdbd2cSJim Jagielski# $(PYRUNTIMELINK) \ 141*b1cdbd2cSJim Jagielski# $(PYRUNTIMELIBLINK1) \ 142*b1cdbd2cSJim Jagielski# $(PYRUNTIMELIBLINK2) 143*b1cdbd2cSJim Jagielski# 144*b1cdbd2cSJim Jagielski# 145*b1cdbd2cSJim Jagielski# 146*b1cdbd2cSJim Jagielski#$(BIN)$/pyuno-$(PLATFORM)-$(PYVERSION)$(PACKSUFFIX) : makefile.mk dirs $(FILES) 147*b1cdbd2cSJim Jagielski# -rm $@ 148*b1cdbd2cSJim Jagielski#.IF "$(GUI)"=="WNT" 149*b1cdbd2cSJim Jagielski# +cd $(DESTROOT) && zip -r ..$/pyuno-$(PLATFORM)-$(VERSION)$(PACKSUFFIX) program 150*b1cdbd2cSJim Jagielski#.ELSE 151*b1cdbd2cSJim Jagielski# $(FIND) $(DESTROOT) -name '*.so' | xargs strip 152*b1cdbd2cSJim Jagielski# cd $(DESTROOT) && tar -cO program | gzip - > ..$/pyuno-$(PLATFORM)-$(VERSION)$(PACKSUFFIX) 153*b1cdbd2cSJim Jagielski#.ENDIF 154*b1cdbd2cSJim Jagielski# 155*b1cdbd2cSJim Jagielski# 156*b1cdbd2cSJim Jagielski#dirs .PHONY: 157*b1cdbd2cSJim Jagielski# -mkdir $(PYRUNTIME_DIRS) 158*b1cdbd2cSJim Jagielski# 159*b1cdbd2cSJim Jagielski## Some symbolic links for unix 160*b1cdbd2cSJim Jagielski#.IF "$(GUI)" == "UNX" 161*b1cdbd2cSJim Jagielski#$(PYRUNTIMELINK) : makefile.mk 162*b1cdbd2cSJim Jagielski# -rm -f $@ 163*b1cdbd2cSJim Jagielski# cd $(DESTROOT)$/program && ln -s $(PYDIRNAME) python 164*b1cdbd2cSJim Jagielski# 165*b1cdbd2cSJim Jagielski#$(PYRUNTIMELIBLINK1) : makefile.mk 166*b1cdbd2cSJim Jagielski# -rm -f $@ 167*b1cdbd2cSJim Jagielski# cd $(DESTROOT)$/program && ln -s $(DLLPRE)python$(DLLPOST).$(PYVERSION) $(DLLPRE)python$(DLLPOST).$(PYMAJOR) 168*b1cdbd2cSJim Jagielski# 169*b1cdbd2cSJim Jagielski#$(PYRUNTIMELIBLINK2) : makefile.mk 170*b1cdbd2cSJim Jagielski# -rm -f $@ 171*b1cdbd2cSJim Jagielski# cd $(DESTROOT)$/program && ln -s $(DLLPRE)python$(DLLPOST).$(PYVERSION) $(DLLPRE)python$(DLLPOST) 172*b1cdbd2cSJim Jagielski#.ENDIF 173*b1cdbd2cSJim Jagielski# 174*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/regcomp$(EXESUFFIX) : $(SOLARBINDIR)$/regcomp$(EXESUFFIX) 175*b1cdbd2cSJim Jagielski# cp $? $@ 176*b1cdbd2cSJim Jagielski#.IF "$(GUI)" == "UNX" 177*b1cdbd2cSJim Jagielski# strip $@ 178*b1cdbd2cSJim Jagielski# chmod +x $@ 179*b1cdbd2cSJim Jagielski#.ENDIF 180*b1cdbd2cSJim Jagielski# 181*b1cdbd2cSJim Jagielski# 182*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pyunoenv$(ENVSUFFIX) : pyunoenv$(ENVSUFFIX) 183*b1cdbd2cSJim Jagielski# -rm -f $@ 184*b1cdbd2cSJim Jagielski# cat $? > $@ 185*b1cdbd2cSJim Jagielski# 186*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/$(DLLPRE)pyuno$(DLLPOST) : $(DLLDEST)$/$(DLLPRE)pyuno$(DLLPOST) 187*b1cdbd2cSJim Jagielski# cp $? $@ 188*b1cdbd2cSJim Jagielski# 189*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pyuno_setup$(BATCHSUFFIX) : makefile.mk 190*b1cdbd2cSJim Jagielski# -rm -f $@ 191*b1cdbd2cSJim Jagielski#.IF "$(GUI)"!="WNT" 192*b1cdbd2cSJim Jagielski# echo #\!/bin/sh >> $@ 193*b1cdbd2cSJim Jagielski# chmod +x $@ 194*b1cdbd2cSJim Jagielski#.ENDIF 195*b1cdbd2cSJim Jagielski# echo regcomp -register -r services.rdb -c pythonloader.uno >>$@ 196*b1cdbd2cSJim Jagielski## echo "$(MYCOPY) applicat.rdb pydemo$/applicat.rdb" >> $@ 197*b1cdbd2cSJim Jagielski# echo regcomp -register -br types.rdb -br services.rdb -r services.rdb -c vnd.openoffice.pymodule:swritercomp -l com.sun.star.loader.Python >>$@ 198*b1cdbd2cSJim Jagielski# 199*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/$(DLLPRE)python$(DLLPOST).$(PYVERSION) : $(SOLARLIBDIR)$/$(DLLPRE)python$(DLLPOST).$(PYVERSION) 200*b1cdbd2cSJim Jagielski# cp $? $@ 201*b1cdbd2cSJim Jagielski# 202*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pythonloader.uno$(DLLPOST) : $(DLLDEST)$/pythonloader.uno$(DLLPOST) 203*b1cdbd2cSJim Jagielski# cp $? $@ 204*b1cdbd2cSJim Jagielski# 205*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/%.py : $(DLLDEST)$/%.py 206*b1cdbd2cSJim Jagielski# cp $? $@ 207*b1cdbd2cSJim Jagielski# 208*b1cdbd2cSJim Jagielski#.IF "$(GUI)" == "UNX" 209*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pyuno$(DLLPOST) : $(DLLDEST)$/pyuno$(DLLPOST) 210*b1cdbd2cSJim Jagielski# cp $? $@ 211*b1cdbd2cSJim Jagielski#.ENDIF 212*b1cdbd2cSJim Jagielski# 213*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pydemo$/%.py : %.py 214*b1cdbd2cSJim Jagielski# -rm -f $@ 215*b1cdbd2cSJim Jagielski# cat $? > $@ 216*b1cdbd2cSJim Jagielski# 217*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pyuno$(INISUFFIX) : makefile.mk 218*b1cdbd2cSJim Jagielski# -rm -f $@ $(DESTROOT)$/program$/pyuno.tmp 219*b1cdbd2cSJim Jagielski# echo UNO_TYPES=$(DOLLAR_SIGN)PYUNOLIBDIR/types.rdb > $(DESTROOT)$/program$/pyuno.tmp 220*b1cdbd2cSJim Jagielski# echo UNO_SERVICES=$(DOLLAR_SIGN)PYUNOLIBDIR/services.rdb >> $(DESTROOT)$/program$/pyuno.tmp 221*b1cdbd2cSJim Jagielski# mv $(DESTROOT)$/program$/pyuno.tmp $@ 222*b1cdbd2cSJim Jagielski# 223*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/pydemo$/python-bridge.html : ..$/doc$/python-bridge.html 224*b1cdbd2cSJim Jagielski# -rm -f $@ 225*b1cdbd2cSJim Jagielski# cat $? > $@ 226*b1cdbd2cSJim Jagielski# 227*b1cdbd2cSJim Jagielski# 228*b1cdbd2cSJim Jagielski# $(DESTROOT)$/program$/$(PYDIRNAME)$/lib$/%.so : $(SOLARLIBDIR)$/python$/%.so 229*b1cdbd2cSJim Jagielski# -rm -f $@ 230*b1cdbd2cSJim Jagielski# cat $? > $@ 231*b1cdbd2cSJim Jagielski# strip $@ 232*b1cdbd2cSJim Jagielski# 233*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/$(PYDIRNAME)$/lib$/% : $(SOLARLIBDIR)$/python$/% 234*b1cdbd2cSJim Jagielski# -rm -f $@ 235*b1cdbd2cSJim Jagielski# cat $? > $@ 236*b1cdbd2cSJim Jagielski# 237*b1cdbd2cSJim Jagielski# 238*b1cdbd2cSJim Jagielski#$(DESTROOT)$/program$/$(PYDIRNAME)$/bin$/python$(EXESUFFIX) : $(SOLARBINDIR)$/python$(EXESUFFIX) 239*b1cdbd2cSJim Jagielski# -rm -f $@ 240*b1cdbd2cSJim Jagielski# cat $? > $@ 241*b1cdbd2cSJim Jagielski#.IF "$(GUI)" == "UNX" 242*b1cdbd2cSJim Jagielski# strip $@ 243*b1cdbd2cSJim Jagielski# chmod +x $@ 244*b1cdbd2cSJim Jagielski#.ENDIF 245*b1cdbd2cSJim Jagielski# 246*b1cdbd2cSJim Jagielski# 247*b1cdbd2cSJim Jagielski# 248*b1cdbd2cSJim Jagielski# 249*b1cdbd2cSJim Jagielski# 250