summaryrefslogtreecommitdiff
path: root/pyuno/zipcore/makefile.mk
blob: 475603dba602b12c8e3a4111403901decc4b4dab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
PRJNAME=pyuno
PRJ=..

.INCLUDE : settings.mk
.INCLUDE : pyversion.mk

PYDIRNAME=python-core-$(PYVERSION)
PACKSUFFIX=.zip
DESTROOT=$(BIN)$/python-core-$(PYVERSION)

.IF "$(GUI)"=="WNT"
INISUFFIX=.ini
BATCHSUFFIX=.bat
ENVSUFFIX=.bat
EXESUFFIX=.exe
DOLLAR_SIGN=$$
.ELSE
DOLLAR_SIGN=\$$
BATCHSUFFIX=.sh
ENVSUFFIX=.tcsh
INISUFFIX=rc
.ENDIF
PYTHONBINARY=$(BIN)$/$(PYDIRNAME)$/bin$/python$(EXESUFFIX)

FINDDIRS=$(subst,/,$/ $(shell +cd $(SOLARLIBDIR)$/python && $(FIND) . -type d))
FINDLIBFILES=$(subst,/,$/ $(shell +cd $(SOLARLIBDIR)$/python && $(FIND) . -type f))

PYRUNTIME_DIRS=\
    $(BIN)$/$(PYDIRNAME) 	\
    $(BIN)$/$(PYDIRNAME)$/bin 	\
    $(BIN)$/$(PYDIRNAME)$/lib 	\
    $(foreach,i,$(FINDDIRS) $(BIN)$/$(PYDIRNAME)$/lib$/$(i))


FILES=\
    $(PYTHONBINARY)	\
    $(foreach,i,$(FINDLIBFILES) $(BIN)$/$(PYDIRNAME)$/lib$/$(i)) 


target: \
    dirs \
    $(BIN)$/python-core-$(PYVERSION).zip \
    $(BIN)$/python.sh

$(BIN)$/python.sh : python.sh
    -rm -f $@
    cat $? > $@
    chmod +x $@

$(BIN)$/python-core-$(PYVERSION).zip : $(FILES)
    -+cd $(BIN) && find . -name '*.pyc' | xargs rm -f  
.IF "$(GUI)" == "UNX"
    cd $(BIN) && find . -name '*.so' | xargs strip 
.ENDIF
    -rm -f $@
    +cd $(BIN) && zip -r $(PYDIRNAME).zip $(PYDIRNAME)

dirs .PHONY:
    -mkdir $(PYRUNTIME_DIRS) 

$(BIN)$/$(PYDIRNAME)$/lib$/% : $(SOLARLIBDIR)$/python$/%
    -rm -f $@
    cat $? > $@

$(BIN)$/$(PYDIRNAME)$/bin$/python$(EXESUFFIX) : $(SOLARBINDIR)$/python$(EXESUFFIX)
    -rm -f $@
    cat $? > $@
.IF "$(GUI)"== "UNX"
    chmod +x $@
.ENDIF