xref: /AOO42X/main/curl/makefile.mk (revision 3df29d8c7846842ea99f380f13e300eb5a454266)
17871dc3eSAndrew Rist#**************************************************************
2cdf0e10cSrcweir#
37871dc3eSAndrew Rist#  Licensed to the Apache Software Foundation (ASF) under one
47871dc3eSAndrew Rist#  or more contributor license agreements.  See the NOTICE file
57871dc3eSAndrew Rist#  distributed with this work for additional information
67871dc3eSAndrew Rist#  regarding copyright ownership.  The ASF licenses this file
77871dc3eSAndrew Rist#  to you under the Apache License, Version 2.0 (the
87871dc3eSAndrew Rist#  "License"); you may not use this file except in compliance
97871dc3eSAndrew Rist#  with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir#
117871dc3eSAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir#
137871dc3eSAndrew Rist#  Unless required by applicable law or agreed to in writing,
147871dc3eSAndrew Rist#  software distributed under the License is distributed on an
157871dc3eSAndrew Rist#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
167871dc3eSAndrew Rist#  KIND, either express or implied.  See the License for the
177871dc3eSAndrew Rist#  specific language governing permissions and limitations
187871dc3eSAndrew Rist#  under the License.
19cdf0e10cSrcweir#
207871dc3eSAndrew Rist#**************************************************************
217871dc3eSAndrew Rist
227871dc3eSAndrew Rist
23cdf0e10cSrcweirPRJ=.
24cdf0e10cSrcweir
25cdf0e10cSrcweirPRJNAME=so_curl
26cdf0e10cSrcweirTARGET=so_curl
27cdf0e10cSrcweir
28cdf0e10cSrcweir# --- Settings -----------------------------------------------------
29cdf0e10cSrcweir
30cdf0e10cSrcweir.INCLUDE :  settings.mk
31cdf0e10cSrcweir
32cdf0e10cSrcweir.IF "$(SYSTEM_CURL)" == "YES"
33cdf0e10cSrcweirall:
34cdf0e10cSrcweir    @echo "An already available installation of curl should exist on your system."
35cdf0e10cSrcweir    @echo "Therefore the version provided here does not need to be built in addition."
36cdf0e10cSrcweir.ENDIF
37cdf0e10cSrcweir
38cdf0e10cSrcweir# --- Files --------------------------------------------------------
39cdf0e10cSrcweir
404db81550SDamjan JovanovicTARFILE_NAME=curl-8.7.1
414db81550SDamjan JovanovicTARFILE_MD5=92f7a11836678b725e2cb59fef10c273
429646dec5SDamjan JovanovicPATCH_FILES=curl-wnt.patch
43cdf0e10cSrcweir
44cdf0e10cSrcweir#ADDITIONAL_FILES= lib$/config-os2.h lib$/Makefile.os2
45cdf0e10cSrcweir
46cdf0e10cSrcweir.IF "$(GUI)"=="UNX"
47cdf0e10cSrcweir
48cdf0e10cSrcweir.IF "$(SYSBASE)"!=""
49cdf0e10cSrcweircurl_CFLAGS+=-I$(SYSBASE)$/usr$/include
50cdf0e10cSrcweircurl_LDFLAGS+=-L$(SYSBASE)$/usr$/lib
51cdf0e10cSrcweir.ENDIF          # "$(SYSBASE)"!=""
52cdf0e10cSrcweir
53cdf0e10cSrcweir.IF "$(OS)$(CPU)"=="SOLARISU"
54cdf0e10cSrcweircurl_CFLAGS+:=$(ARCH_FLAGS)
55cdf0e10cSrcweircurl_LDFLAGS+:=$(ARCH_FLAGS)
56cdf0e10cSrcweir.ENDIF
57cdf0e10cSrcweir
58cfbfe427SArrigo Marchiori.IF "$(SYSTEM_OPENSSL)"=="YES"
59cfbfe427SArrigo Marchiorissl_param=--with-ssl
60cfbfe427SArrigo Marchiori.ELSE
61cfbfe427SArrigo Marchiorissl_param=--with-ssl=$(OUTDIR)
62e350def3SDamjan Jovanoviccurl_CFLAGS+=-I$(SOLARINCDIR)$/external
63*3df29d8cSJim Jagielski# -z origin/-rpath $ORIGIN are Linux/ELF idioms; Apple's ld rejects both.
64*3df29d8cSJim Jagielski.IF "$(OS)"!="MACOSX"
65e350def3SDamjan Jovanoviccurl_LDFLAGS+=-L$(SOLARLIBDIR) -Wl,-z,origin -Wl,-rpath,\\\$$\$$ORIGIN
66*3df29d8cSJim Jagielski.ELSE
67*3df29d8cSJim Jagielskicurl_LDFLAGS+=-L$(SOLARLIBDIR)
68*3df29d8cSJim Jagielski.ENDIF
69cfbfe427SArrigo MarchioriPATCH_FILES+= curl-bundled_openssl.patch
70cfbfe427SArrigo Marchiori.ENDIF
71cfbfe427SArrigo Marchiori
72cdf0e10cSrcweirCONFIGURE_DIR=.$/
73cdf0e10cSrcweir#relative to CONFIGURE_DIR
74cdf0e10cSrcweirCONFIGURE_ACTION=.$/configure
75cfbfe427SArrigo MarchioriCONFIGURE_FLAGS= $(ssl_param) --without-libidn --enable-ftp --enable-ipv6 --enable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --disable-static CPPFLAGS="$(curl_CFLAGS)"  LDFLAGS="$(curl_LDFLAGS)"
76cdf0e10cSrcweir
77cdf0e10cSrcweirBUILD_DIR=$(CONFIGURE_DIR)$/lib
78cdf0e10cSrcweirBUILD_ACTION=$(GNUMAKE)
79cdf0e10cSrcweirBUILD_FLAGS+= -j$(EXTMAXPROCESS)
80cdf0e10cSrcweir
81*3df29d8cSJim Jagielski.IF "$(OS)"=="MACOSX"
82*3df29d8cSJim Jagielski# libtool names macOS dylibs libcurl.<major>.dylib, not libcurl.dylib.<major>.
83*3df29d8cSJim JagielskiOUT2LIB=$(BUILD_DIR)$/.libs$/libcurl.*.dylib
84*3df29d8cSJim Jagielski.ELSE
85cdf0e10cSrcweirOUT2LIB=$(BUILD_DIR)$/.libs$/libcurl$(DLLPOST).4
86*3df29d8cSJim Jagielski.ENDIF
87cdf0e10cSrcweir.ENDIF          # "$(GUI)"=="UNX"
88cdf0e10cSrcweir
89cdf0e10cSrcweir
90cdf0e10cSrcweir.IF "$(GUI)"=="WNT"
91cdf0e10cSrcweir.IF "$(COM)"=="GCC"
92cdf0e10cSrcweircurl_CC=$(CC) -mthreads
93cdf0e10cSrcweir.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
94cdf0e10cSrcweircurl_CC+=-shared-libgcc
95cdf0e10cSrcweir.ENDIF
96cdf0e10cSrcweircurl_LIBS=-lws2_32 -lwinmm
97cdf0e10cSrcweir.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
98cdf0e10cSrcweircurl_LIBS+=$(MINGW_SHARED_LIBSTDCPP)
99cdf0e10cSrcweir.ENDIF
100cdf0e10cSrcweirCONFIGURE_DIR=.$/
101cdf0e10cSrcweir#relative to CONFIGURE_DIR
102cdf0e10cSrcweirCONFIGURE_ACTION=.$/configure
1039646dec5SDamjan JovanovicCONFIGURE_FLAGS= --with-ssl --enable-ftp --enable-ipv6 --enable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(curl_CC)" CPPFLAGS="$(INCLUDE)" OBJDUMP="objdump" LDFLAGS="-L$(ILIB:s/;/ -L/)" LIBS="$(curl_LIBS)"
104cdf0e10cSrcweirBUILD_DIR=$(CONFIGURE_DIR)$/lib
105cdf0e10cSrcweirBUILD_ACTION=make
106cdf0e10cSrcweirOUT2BIN=$(BUILD_DIR)$/.libs$/libcurl*.dll
107cdf0e10cSrcweirOUT2LIB=$(BUILD_DIR)$/.libs$/libcurl*.dll.a
108cdf0e10cSrcweir.ELSE
109cdf0e10cSrcweir# make use of stlport headerfiles
110cdf0e10cSrcweirEXT_USE_STLPORT=TRUE
111cdf0e10cSrcweir
112cdf0e10cSrcweir.IF "$(CCNUMVER)" > "001399999999"
113cdf0e10cSrcweirEXCFLAGS="/EHa /Zc:wchar_t- /D "_CRT_SECURE_NO_DEPRECATE""
114cdf0e10cSrcweir.ELSE
115cdf0e10cSrcweirEXCFLAGS="/EHsc /YX"
116cdf0e10cSrcweir.ENDIF
117cdf0e10cSrcweir
118e35fcbcfSDamjan Jovanovic.IF "$(CPUNAME)"=="INTEL"
119e35fcbcfSDamjan Jovanoviccurl_MACHINE:="X86"
120e35fcbcfSDamjan Jovanovic.ELIF "$(CPUNAME)"=="X86_64"
121e35fcbcfSDamjan Jovanoviccurl_MACHINE:="X64"
122e35fcbcfSDamjan Jovanovic.ENDIF
123e35fcbcfSDamjan Jovanovic
12468576893SDon LewisBUILD_DIR=.$/winbuild
125cdf0e10cSrcweir.IF "$(debug)"==""
1269646dec5SDamjan JovanovicBUILD_ACTION=CC="cl.exe" nmake -f Makefile.vc mode=dll VC=9 EXCFLAGS=$(EXCFLAGS) MACHINE=$(curl_MACHINE) RTLIBCFG=static WITH_DEVEL=$(OUTDIR) WITH_ZLIB=dll WITH_SSL=dll
127cdf0e10cSrcweir.ELSE
1289646dec5SDamjan JovanovicBUILD_ACTION=CC="cl.exe" nmake -f Makefile.vc mode=dll VC=9 DEBUG=yes EXCFLAGS=$(EXCFLAGS) MACHINE=$(curl_MACHINE) RTLIBCFG=static WITH_DEVEL=$(OUTDIR) WITH_ZLIB=dll WITH_SSL=dll
129cdf0e10cSrcweir.ENDIF
130cdf0e10cSrcweir
1318c07c6ecSDamjan Jovanovic.IF "$(CPUNAME)"=="INTEL"
132f8bc1823SDamjan Jovanovic
133c5df52b2SDamjan Jovanovic.IF "$(debug)"==""
1349646dec5SDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-release-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl.dll
1359646dec5SDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-release-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl.lib
136f8bc1823SDamjan Jovanovic.ELSE
13750438e36SDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl_debug.dll
13850438e36SDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl_debug.lib
139f8bc1823SDamjan Jovanovic.ENDIF
140f8bc1823SDamjan Jovanovic
1418c07c6ecSDamjan Jovanovic.ELIF "$(CPUNAME)"=="X86_64"
142f8bc1823SDamjan Jovanovic
143c5df52b2SDamjan Jovanovic.IF "$(debug)"==""
1449646dec5SDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-release-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl.dll
1459646dec5SDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-release-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl.lib
146f8bc1823SDamjan Jovanovic.ELSE
14750438e36SDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl_debug.dll
14850438e36SDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl_debug.lib
149f8bc1823SDamjan Jovanovic.ENDIF
150f8bc1823SDamjan Jovanovic
1518c07c6ecSDamjan Jovanovic.ENDIF
152cdf0e10cSrcweir
153cdf0e10cSrcweir.ENDIF
154cdf0e10cSrcweir.ENDIF          # "$(GUI)"=="WNT"
155cdf0e10cSrcweir
156cdf0e10cSrcweir.IF "$(GUI)"=="OS2"
157cdf0e10cSrcweir# make use of stlport headerfiles
158cdf0e10cSrcweirEXT_USE_STLPORT=TRUE
159cdf0e10cSrcweir
160cdf0e10cSrcweirBUILD_DIR=.$/lib
161cdf0e10cSrcweir.IF "$(debug)"==""
162cdf0e10cSrcweirBUILD_ACTION=make -f Makefile.os2
163cdf0e10cSrcweir.ELSE
164cdf0e10cSrcweirBUILD_ACTION=make -f Makefile.os2
165cdf0e10cSrcweir.ENDIF
166cdf0e10cSrcweir
167cdf0e10cSrcweirOUT2BIN=$(BUILD_DIR)$/libcurl.dll
168cdf0e10cSrcweirOUT2LIB=$(BUILD_DIR)$/libcurl.lib
169cdf0e10cSrcweir
170cdf0e10cSrcweir.ENDIF          # "$(GUI)"=="OS2"
171cdf0e10cSrcweir
172cdf0e10cSrcweirOUT2INC= \
173cdf0e10cSrcweir    include$/curl$/curl.h           \
174cdf0e10cSrcweir    include$/curl$/curlver.h        \
1754db81550SDamjan Jovanovic    include$/curl$/easy.h           \
1764db81550SDamjan Jovanovic    include$/curl$/header.h         \
177cdf0e10cSrcweir    include$/curl$/mprintf.h        \
1784db81550SDamjan Jovanovic    include$/curl$/multi.h          \
1794db81550SDamjan Jovanovic    include$/curl$/options.h        \
1804db81550SDamjan Jovanovic    include$/curl$/stdcheaders.h    \
1814169bb5fSDon Lewis    include$/curl$/system.h         \
1824db81550SDamjan Jovanovic    include$/curl$/typecheck-gcc.h      \
1834db81550SDamjan Jovanovic    include$/curl$/urlapi.h         \
1844db81550SDamjan Jovanovic    include$/curl$/websockets.h
18568576893SDon Lewis
186cdf0e10cSrcweir
187cdf0e10cSrcweir# --- Targets ------------------------------------------------------
188cdf0e10cSrcweir
189cdf0e10cSrcweir.INCLUDE : set_ext.mk
190cdf0e10cSrcweir.INCLUDE : target.mk
191cdf0e10cSrcweir.INCLUDE : tg_ext.mk
192