xref: /aoo4110/main/pyuno/zipcore/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 Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim JagielskiPRJNAME=pyuno
25*b1cdbd2cSJim JagielskiPRJ=..
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim JagielskiTARGET=zipcore
28*b1cdbd2cSJim JagielskiLIBTARGET=NO
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski.INCLUDE : settings.mk
31*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"==""
32*b1cdbd2cSJim JagielskiUWINAPILIB =
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski.IF "$(SYSTEM_PYTHON)" == "YES" || "$(GUI)" == "OS2"
35*b1cdbd2cSJim Jagielskisystempython:
36*b1cdbd2cSJim Jagielski        @echo "Not building python-core because system python is being used"
37*b1cdbd2cSJim Jagielski.ELSE
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim Jagielski.INCLUDE : pyversion.mk
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim JagielskiPYDIRNAME=python-core-$(PYVERSION)
42*b1cdbd2cSJim JagielskiDESTROOT=$(BIN)$/$(PYDIRNAME)
43*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX"
44*b1cdbd2cSJim JagielskiPYTHONBINARY=$(BIN)$/python$(EXECPOST).bin
45*b1cdbd2cSJim Jagielski.ELSE
46*b1cdbd2cSJim Jagielski.IF "$(COM)" == "GCC"
47*b1cdbd2cSJim JagielskiPYTHONBINARY=$(DESTROOT)$/bin$/python.bin
48*b1cdbd2cSJim Jagielski.ELSE
49*b1cdbd2cSJim JagielskiPYTHONBINARY=$(DESTROOT)$/bin$/python$(EXECPOST)
50*b1cdbd2cSJim Jagielski.ENDIF
51*b1cdbd2cSJim Jagielski.ENDIF
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim JagielskiFINDLIBFILES_TMP:=$(subst,/,$/ \
54*b1cdbd2cSJim Jagielski	$(shell @$(FIND) $(SOLARLIBDIR)$/python -type f| $(GREP) -v "\.pyc" |$(GREP) -v "\.py~" |$(GREP) -v .orig | $(GREP) -v _failed))
55*b1cdbd2cSJim JagielskiFINDLIBFILES=$(subst,$(SOLARLIBDIR)$/python, $(FINDLIBFILES_TMP))
56*b1cdbd2cSJim Jagielski
57*b1cdbd2cSJim JagielskiFINDINCFILES_TMP:=$(subst,/,$/ \
58*b1cdbd2cSJim Jagielski	$(shell @$(FIND) $(SOLARINCDIR)$/python -type f| $(GREP) -v "\.h~" | $(GREP) -v _failed))
59*b1cdbd2cSJim JagielskiFINDINCFILES=$(subst,$(SOLARINCDIR)$/python, $(FINDINCFILES_TMP))
60*b1cdbd2cSJim Jagielski
61*b1cdbd2cSJim JagielskiFILES=\
62*b1cdbd2cSJim Jagielski	$(PYTHONBINARY)	\
63*b1cdbd2cSJim Jagielski	$(foreach,i,$(FINDLIBFILES) $(DESTROOT)$/lib$(i)) \
64*b1cdbd2cSJim Jagielski	$(foreach,i,$(FINDINCFILES) $(DESTROOT)$/include$/python$(PYMAJOR).$(PYMINOR)$(i))
65*b1cdbd2cSJim Jagielski
66*b1cdbd2cSJim Jagielski.IF "$(OS)" == "WNT"
67*b1cdbd2cSJim JagielskiAPP1TARGET = python
68*b1cdbd2cSJim JagielskiAPP1OBJS = $(OBJFILES) $(SOLARLIBDIR)$/pathutils-obj.obj
69*b1cdbd2cSJim JagielskiAPP1STDLIBS =
70*b1cdbd2cSJim JagielskiAPP1RPATH = BRAND
71*b1cdbd2cSJim JagielskiOBJFILES = $(OBJ)$/python.obj
72*b1cdbd2cSJim Jagielski.ENDIF
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski
75*b1cdbd2cSJim Jagielski.INCLUDE: target.mk
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim JagielskiALLTAR: \
78*b1cdbd2cSJim Jagielski	$(BIN)$/$(PYDIRNAME).zip
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX"
81*b1cdbd2cSJim JagielskiALLTAR : $(BIN)$/python.sh
82*b1cdbd2cSJim Jagielski$(BIN)$/python.sh : python.sh
83*b1cdbd2cSJim Jagielski	-rm -f $@
84*b1cdbd2cSJim Jagielski	cat $? > $@
85*b1cdbd2cSJim Jagielski	sed 's/%%PYVERSION%%/$(PYVERSION)/g' < $@ > $@.new
86*b1cdbd2cSJim Jagielski	mv $@.new $@
87*b1cdbd2cSJim Jagielski	chmod +x $@
88*b1cdbd2cSJim Jagielski.ENDIF
89*b1cdbd2cSJim Jagielski
90*b1cdbd2cSJim Jagielski$(OBJ)$/python.obj: $(OUT)$/inc$/pyversion.hxx
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielski$(OUT)$/inc$/pyversion.hxx: pyversion.inc
93*b1cdbd2cSJim Jagielski    $(SED) $(USQ)s/@/$(PYVERSION)/g$(USQ) < $< > $@
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim Jagielski$(BIN)$/$(PYDIRNAME).zip : $(FILES)
96*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX"
97*b1cdbd2cSJim Jagielski.IF "$(OS)" != "MACOSX"
98*b1cdbd2cSJim Jagielski	cd $(DESTROOT) && find . -name '*$(DLLPOST)' | xargs strip
99*b1cdbd2cSJim Jagielski.ENDIF
100*b1cdbd2cSJim Jagielski.ENDIF
101*b1cdbd2cSJim Jagielski	-rm -f $@
102*b1cdbd2cSJim Jagielski	cd $(BIN) && zip -r $(PYDIRNAME).zip $(PYDIRNAME)
103*b1cdbd2cSJim Jagielski
104*b1cdbd2cSJim Jagielski$(DESTROOT)$/lib$/% : $(SOLARLIBDIR)$/python$/%
105*b1cdbd2cSJim Jagielski	-$(MKDIRHIER) $(@:d)
106*b1cdbd2cSJim Jagielski	-rm -f $@
107*b1cdbd2cSJim Jagielski	cat $< > $@
108*b1cdbd2cSJim Jagielski
109*b1cdbd2cSJim Jagielski$(DESTROOT)$/include$/python$(PYMAJOR).$(PYMINOR)%: $(SOLARINCDIR)$/python$/%
110*b1cdbd2cSJim Jagielski	-$(MKDIRHIER) $(@:d)
111*b1cdbd2cSJim Jagielski	-rm -f $@
112*b1cdbd2cSJim Jagielski	cat $< > $@
113*b1cdbd2cSJim Jagielski
114*b1cdbd2cSJim Jagielski.IF "$(GUI)"== "UNX"
115*b1cdbd2cSJim Jagielski$(BIN)$/python$(EXECPOST).bin : $(SOLARBINDIR)$/python$(EXECPOST)
116*b1cdbd2cSJim Jagielski	-$(MKDIRHIER) $(@:d)
117*b1cdbd2cSJim Jagielski	-rm -f $@
118*b1cdbd2cSJim Jagielski	cat $< > $@
119*b1cdbd2cSJim Jagielski.IF "$(OS)" != "MACOSX"
120*b1cdbd2cSJim Jagielski	strip $@
121*b1cdbd2cSJim Jagielski.ENDIF
122*b1cdbd2cSJim Jagielski	chmod +x $@
123*b1cdbd2cSJim Jagielski.ELSE
124*b1cdbd2cSJim Jagielski.IF "$(COM)" == "GCC"
125*b1cdbd2cSJim Jagielski$(DESTROOT)$/bin$/python.bin : $(SOLARBINDIR)$/python$(EXECPOST)
126*b1cdbd2cSJim Jagielski.ELSE
127*b1cdbd2cSJim Jagielski$(DESTROOT)$/bin$/python$(EXECPOST) : $(SOLARBINDIR)$/python$(EXECPOST)
128*b1cdbd2cSJim Jagielski.ENDIF
129*b1cdbd2cSJim Jagielski	-$(MKDIRHIER) $(@:d)
130*b1cdbd2cSJim Jagielski	-rm -f $@
131*b1cdbd2cSJim Jagielski	cat $< > $@
132*b1cdbd2cSJim Jagielski.ENDIF
133*b1cdbd2cSJim Jagielski
134*b1cdbd2cSJim Jagielski.ENDIF
135*b1cdbd2cSJim Jagielski.ELSE
136*b1cdbd2cSJim Jagielskiivo:
137*b1cdbd2cSJim Jagielski	$(ECHO)
138*b1cdbd2cSJim Jagielski.ENDIF # L10N_framework
139