Reintroduce pyuno.so wrapper around libpyuno.so
[LibreOffice.git] / pyuno / source / module / makefile.mk
blob714a120de58d1a9f3436cf8dc76fdebbfe8f6888
1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # Copyright 2000, 2010 Oracle and/or its affiliates.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # This file is part of OpenOffice.org.
11 # OpenOffice.org is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU Lesser General Public License version 3
13 # only, as published by the Free Software Foundation.
15 # OpenOffice.org is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU Lesser General Public License version 3 for more details
19 # (a copy is included in the LICENSE file that accompanied this code).
21 # You should have received a copy of the GNU Lesser General Public License
22 # version 3 along with OpenOffice.org. If not, see
23 # <http://www.openoffice.org/license.html>
24 # for a copy of the LGPLv3 License.
26 #*************************************************************************
27 PRJ=../..
29 PRJNAME=pyuno
30 TARGET=pyuno
31 ENABLE_EXCEPTIONS=TRUE
33 LINKFLAGSDEFS = # do not fail with missing symbols
35 # --- Settings -----------------------------------------------------
37 .INCLUDE : settings.mk
38 .IF "$(L10N_framework)"==""
40 #-------------------------------------------------------------------
42 .IF "$(OS)$(COMEX)" == "SOLARIS4"
43 # no -Bdirect for SunWS CC
44 DIRECT = $(LINKFLAGSDEFS)
45 .ENDIF
47 # special setting from environment
48 .IF "$(EXTRA_CFLAGS)"!=""
49 EXTRA_FRAMEWORK_FLAG=-framework Python
50 .ENDIF # .IF "$(EXTRA_CFLAGS)"!=""
52 .IF "$(GUI)" == "UNX"
53 # python expects modules without the lib prefix
54 # pyuno.so even on Mac OS X, because it is a python module
55 PYUNO_MODULE=$(DLLDEST)$/pyuno.so
56 PYUNORC=pyunorc
57 .ELSE
58 .IF "$(CROSS_COMPILING)" != "YES"
59 .INCLUDE : pyversion.mk
60 .ENDIF
61 PYUNORC=pyuno.ini
62 DLLPOST=.pyd
63 .ENDIF
65 .IF "$(SYSTEM_PYTHON)" == "YES"
66 PYTHONLIB=$(PYTHON_LIBS)
67 CFLAGS+=$(PYTHON_CFLAGS)
68 .ELSE # "$(SYSTEM_PYTHON)" == "YES"
69 .INCLUDE : pyversion.mk
70 CFLAGS+=-I$(SOLARINCDIR)/python
71 .ENDIF # "$(SYSTEM_PYTHON)" == "YES"
73 SHL1TARGET=$(TARGET)
74 SLOFILES= \
75 $(SLO)/pyuno_runtime.obj \
76 $(SLO)/pyuno.obj \
77 $(SLO)/pyuno_callable.obj \
78 $(SLO)/pyuno_module.obj \
79 $(SLO)/pyuno_type.obj \
80 $(SLO)/pyuno_util.obj \
81 $(SLO)/pyuno_except.obj \
82 $(SLO)/pyuno_adapter.obj \
83 $(SLO)/pyuno_gc.obj
85 # remove this, when issue i35064 is integrated
86 .IF "$(COM)"=="GCC"
87 NOOPTFILES= \
88 $(SLO)/pyuno_module.obj
89 .ENDIF # "$(COM)"=="GCC"
91 SHL1STDLIBS= \
92 $(CPPULIB) \
93 $(CPPUHELPERLIB) \
94 $(SALLIB) \
95 $(PYTHONLIB) \
96 $(EXTRA_FRAMEWORK_FLAG)
98 SHL1DEPN=$(eq,$(OS),MACOSX $(MISC)/framework_link $(NULL))
99 SHL1LIBS=$(SLB)/$(TARGET).lib
100 SHL1IMPLIB=i$(TARGET)
102 SHL1DEF=$(MISC)/$(SHL1TARGET).def
104 DEF1NAME=$(SHL1TARGET)
105 DEF1DEPN=$(MISC)/pyuno.flt
107 DEFLIB1NAME=$(TARGET)
109 # --- Targets ------------------------------------------------------
111 .IF "$(GUI)$(COM)"=="WNTGCC"
112 ALLTAR : \
113 $(DLLDEST)/uno.py \
114 $(DLLDEST)/unohelper.py \
115 $(PYUNO_MODULE) \
116 $(MISC)/$(PYUNORC) \
117 $(LB)/lib$(TARGET).a
119 $(LB)/lib$(TARGET).a: $(MISC)/$(TARGET).def
120 $(DLLTOOL) --dllname $(TARGET)$(DLLPOST) --input-def=$(MISC)/$(TARGET).def --kill-at --output-lib=$(LB)/lib$(TARGET).a
121 .ELSE
123 ALLTAR : \
124 $(DLLDEST)/uno.py \
125 $(DLLDEST)/unohelper.py \
126 $(PYUNO_MODULE) \
127 $(MISC)/$(PYUNORC)
128 .ENDIF
129 .ENDIF
131 .INCLUDE : target.mk
132 .IF "$(L10N_framework)"==""
133 $(DLLDEST)/%.py: %.py
134 cp $? $@
136 # make checkdll happy
137 $(MISC)/framework_link :
138 $(COMMAND_ECHO)ln -sf $(SOLARLIBDIR)/OOoPython.framework $(LB)/OOoPython.framework
139 @touch $@
141 .IF "$(GUI)" == "UNX"
142 $(PYUNO_MODULE) : $(SLO)$/pyuno_dlopenwrapper.obj
143 .IF "$(OS)" == "LINUX"
144 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO) $(LINKFLAGSSHLCUI) -ldl -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
145 .ELIF "$(OS)" == "SOLARIS"
146 @echo ld -G -ldl -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
147 .ELIF "$(OS)" == "FREEBSD"
148 @echo ld -shared -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
149 .ELIF "$(OS)" == "NETBSD"
150 @echo $(LINK) $(LINKFLAGSSHLCUI) -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
151 .ELIF "$(OS)" == "OPENBSD"
152 @echo ld -shared -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
153 .ELIF "$(OS)" == "DRAGONFLY"
154 @echo ld -shared -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
155 .ELIF "$(OS)" == "MACOSX"
156 @echo $(CC) -bundle -ldl -o $@ $(SLO)$/pyuno_dlopenwrapper.o $(EXTRA_LINKFLAGS) $(EXTRA_FRAMEWORK_FLAG) > $(MISC)$/$(@:b).cmd
157 .ELSE
158 @echo $(LINK) $(LINKFLAGSSHLCUI) -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
159 .ENDIF
160 cat $(MISC)$/$(@:b).cmd
161 @+source $(MISC)$/$(@:b).cmd
162 .ENDIF
164 $(MISC)/$(PYUNORC) : pyuno
165 -rm -f $@
166 cat pyuno > $@
168 $(MISC)/pyuno.flt : pyuno.flt
169 -rm -f $@
170 cat $? > $@
172 .ENDIF # L10N_framework