xref: /aoo4110/main/pyuno/demo/makefile.mk (revision b1cdbd2c)
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