xref: /aoo4110/main/cairo/pixman/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 JagielskiPRJ=..
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim JagielskiPRJNAME=cairo
27*b1cdbd2cSJim JagielskiTARGET=so_pixman
28*b1cdbd2cSJim JagielskiEXTERNAL_WARNINGS_NOT_ERRORS := TRUE
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski# --- Settings -----------------------------------------------------
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielski.INCLUDE :	settings.mk
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski.IF  "$(ENABLE_CAIRO)" == ""
35*b1cdbd2cSJim Jagielskiall:
36*b1cdbd2cSJim Jagielski	@echo "Nothing to do (Cairo not enabled)."
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski.ELIF "$(BUILD_PIXMAN)" == ""
39*b1cdbd2cSJim Jagielskiall:
40*b1cdbd2cSJim Jagielski	@echo "Not building pixman."
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski.ENDIF
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski# --- Files --------------------------------------------------------
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim JagielskiPIXMANVERSION=0.12.0
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim JagielskiTARFILE_NAME=pixman-$(PIXMANVERSION)
49*b1cdbd2cSJim JagielskiTARFILE_MD5=09357cc74975b01714e00c5899ea1881
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim JagielskiPATCH_FILES=..$/$(TARFILE_NAME).patch
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim Jagielski# Note: we are building static pixman library to avoid linking problems.
54*b1cdbd2cSJim Jagielski# However, for Unix dynamic library must be used (especially due to 64bit issues)
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielski.IF "$(OS)"=="WNT"
57*b1cdbd2cSJim Jagielski# --------- Windows -------------------------------------------------
58*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC"
59*b1cdbd2cSJim JagielskiCONFIGURE_DIR=
60*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=.$/configure
61*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -mthreads" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" OBJDUMP="$(WRAPCMD) objdump"
62*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE)
63*b1cdbd2cSJim JagielskiBUILD_FLAGS+= -j$(EXTMAXPROCESS)
64*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR)
65*b1cdbd2cSJim Jagielski.IF "$(GUI)$(COM)"=="WNTGCC"
66*b1cdbd2cSJim Jagielski.EXPORT : PWD
67*b1cdbd2cSJim Jagielski.ENDIF
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski.ELSE   # WNT, not GCC
70*b1cdbd2cSJim JagielskiBUILD_DIR=pixman
71*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE) -f Makefile.win32
72*b1cdbd2cSJim Jagielski.ENDIF
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski.ELIF "$(GUIBASE)"=="aqua"
75*b1cdbd2cSJim Jagielski# ----------- Native Mac OS X (Aqua/Quartz) --------------------------------
76*b1cdbd2cSJim JagielskiCONFIGURE_DIR=
77*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=.$/configure
78*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-static=yes --enable-shared=no CPPFLAGS="$(EXTRA_CDEFS)"
79*b1cdbd2cSJim Jagielski.IF "$(SYSBASE)"!=""
80*b1cdbd2cSJim Jagielski.IF "$(EXTRA_CFLAGS)"!=""
81*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS+=CFLAGS="$(EXTRA_CFLAGS) $(EXTRA_CDEFS)"
82*b1cdbd2cSJim Jagielski.ENDIF # "$(EXTRA_CDEFS)"!=""
83*b1cdbd2cSJim Jagielski.ENDIF # "$(SYSBASE)"!=""
84*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE)
85*b1cdbd2cSJim JagielskiBUILD_FLAGS+= -j$(EXTMAXPROCESS)
86*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR)
87*b1cdbd2cSJim Jagielski
88*b1cdbd2cSJim Jagielski.ELSE
89*b1cdbd2cSJim Jagielski# ----------- Unix ---------------------------------------------------------
90*b1cdbd2cSJim Jagielski.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC"
91*b1cdbd2cSJim JagielskiLDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec
92*b1cdbd2cSJim Jagielski.ENDIF                  # "$(OS)$(COM)"=="LINUXGCC"
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski.IF "$(OS)$(COM)"=="SOLARISC52"
95*b1cdbd2cSJim JagielskiLDFLAGS:=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib'
96*b1cdbd2cSJim Jagielski.ENDIF                  # "$(OS)$(COM)"=="SOLARISC52"
97*b1cdbd2cSJim Jagielski
98*b1cdbd2cSJim Jagielski.IF "$(SYSBASE)"!=""
99*b1cdbd2cSJim Jagielskipixman_CFLAGS+=-I$(SYSBASE)$/usr$/include -I$(SOLARINCDIR)$/external $(EXTRA_CFLAGS)
100*b1cdbd2cSJim Jagielski.IF "$(OS)"=="SOLARIS" || "$(OS)"=="LINUX"
101*b1cdbd2cSJim JagielskiLDFLAGS+=-L$(SYSBASE)$/lib -L$(SYSBASE)$/usr$/lib -L$(SOLARLIBDIR) -lpthread -ldl
102*b1cdbd2cSJim Jagielski.ENDIF
103*b1cdbd2cSJim Jagielski.ENDIF			# "$(SYSBASE)"!=""
104*b1cdbd2cSJim Jagielski
105*b1cdbd2cSJim Jagielski.EXPORT: LDFLAGS
106*b1cdbd2cSJim Jagielski
107*b1cdbd2cSJim Jagielski.IF "$(COMNAME)"=="sunpro5"
108*b1cdbd2cSJim Jagielskipixman_CFLAGS+=-xc99=none
109*b1cdbd2cSJim Jagielski.ENDIF
110*b1cdbd2cSJim Jagielski
111*b1cdbd2cSJim Jagielski.IF "$(CPU)"=="I"
112*b1cdbd2cSJim Jagielskipixman_CFLAGS+=-march=i486
113*b1cdbd2cSJim Jagielski.ENDIF
114*b1cdbd2cSJim Jagielski
115*b1cdbd2cSJim Jagielskipixman_CFLAGS+=-fPIC
116*b1cdbd2cSJim Jagielski
117*b1cdbd2cSJim JagielskiCONFIGURE_DIR=
118*b1cdbd2cSJim JagielskiCONFIGURE_ACTION=.$/configure
119*b1cdbd2cSJim Jagielski.IF "$(CPUNAME)"=="X86_64"
120*b1cdbd2cSJim Jagielski# static builds tend to fail on 64bit
121*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-static=no --enable-shared=yes
122*b1cdbd2cSJim Jagielski.ELSE
123*b1cdbd2cSJim Jagielski# use static lib to avoid linking problems with older system pixman libs
124*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS=--enable-static=yes --enable-shared=no
125*b1cdbd2cSJim Jagielski.ENDIF
126*b1cdbd2cSJim JagielskiCONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)"
127*b1cdbd2cSJim JagielskiBUILD_ACTION=$(GNUMAKE)
128*b1cdbd2cSJim JagielskiBUILD_FLAGS+= -j$(EXTMAXPROCESS)
129*b1cdbd2cSJim JagielskiBUILD_DIR=$(CONFIGURE_DIR)
130*b1cdbd2cSJim Jagielski.ENDIF
131*b1cdbd2cSJim Jagielski
132*b1cdbd2cSJim Jagielski
133*b1cdbd2cSJim Jagielski
134*b1cdbd2cSJim Jagielski# -------- All platforms --------------------------------------------
135*b1cdbd2cSJim Jagielski
136*b1cdbd2cSJim JagielskiOUT2INC=pixman$/pixman-version.h  \
137*b1cdbd2cSJim Jagielski	pixman$/pixman.h
138*b1cdbd2cSJim Jagielski
139*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX"
140*b1cdbd2cSJim JagielskiOUT2LIB+=pixman$/.libs$/libpixman-1.a
141*b1cdbd2cSJim Jagielski.ELIF "$(OS)"=="WNT"
142*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC"
143*b1cdbd2cSJim JagielskiOUT2LIB+=pixman$/.libs$/*.a
144*b1cdbd2cSJim Jagielski.ELSE
145*b1cdbd2cSJim JagielskiOUT2LIB+=pixman$/release$/*.lib
146*b1cdbd2cSJim Jagielski.ENDIF
147*b1cdbd2cSJim Jagielski.ELSE
148*b1cdbd2cSJim Jagielski.IF "$(CPUNAME)"=="X86_64"
149*b1cdbd2cSJim JagielskiOUT2LIB+=pixman$/.libs$/libpixman-1.so
150*b1cdbd2cSJim Jagielski.ELSE
151*b1cdbd2cSJim JagielskiOUT2LIB+=pixman$/.libs$/libpixman-1.a
152*b1cdbd2cSJim Jagielski.ENDIF
153*b1cdbd2cSJim Jagielski.ENDIF
154*b1cdbd2cSJim Jagielski
155*b1cdbd2cSJim Jagielski# --- Targets ------------------------------------------------------
156*b1cdbd2cSJim Jagielski
157*b1cdbd2cSJim Jagielski.INCLUDE : set_ext.mk
158*b1cdbd2cSJim Jagielski.INCLUDE : target.mk
159*b1cdbd2cSJim Jagielski.INCLUDE : tg_ext.mk
160*b1cdbd2cSJim Jagielski
161