1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
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 #*************************************************************************
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
)
47 # special setting from environment
48 .IF
"$(EXTRA_CFLAGS)"!=""
49 EXTRA_FRAMEWORK_FLAG
=-framework Python
50 .ENDIF
# .IF "$(EXTRA_CFLAGS)"!=""
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
58 .IF
"$(CROSS_COMPILING)" != "YES"
59 .INCLUDE
: pyversion.mk
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"
75 $(SLO
)/pyuno_runtime.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 \
85 # remove this, when issue i35064 is integrated
88 $(SLO
)/pyuno_module.obj
89 .ENDIF
# "$(COM)"=="GCC"
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"
114 $(DLLDEST
)/unohelper.py \
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
125 $(DLLDEST
)/unohelper.py \
132 .IF
"$(L10N_framework)"==""
133 $(DLLDEST
)/%.py
: %.py
136 # make checkdll happy
137 $(MISC
)/framework_link
:
138 $(COMMAND_ECHO
)ln
-sf
$(SOLARLIBDIR
)/OOoPython.framework
$(LB
)/OOoPython.framework
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
158 @echo
$(LINK
) $(LINKFLAGSSHLCUI
) -o
$@
$(SLO
)$/pyuno_dlopenwrapper.o
> $(MISC
)$/$(@
:b
).cmd
160 cat
$(MISC
)$/$(@
:b
).cmd
161 @
+source
$(MISC
)$/$(@
:b
).cmd
164 $(MISC
)/$(PYUNORC
) : pyuno
168 $(MISC
)/pyuno.flt
: pyuno.flt
172 .ENDIF
# L10N_framework