xref: /trunk/main/curl/makefile.mk (revision 31bbceb0f9d64c0c2c3b22a794a1666c1f33396e)
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
40e469ab6aSDamjan JovanovicTARFILE_NAME=curl-8.7.1
41e469ab6aSDamjan JovanovicTARFILE_MD5=92f7a11836678b725e2cb59fef10c273
4251ba086bSDamjan 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
58bb956dfdSArrigo Marchiori.IF "$(SYSTEM_OPENSSL)"=="YES"
59bb956dfdSArrigo Marchiorissl_param=--with-ssl
60bb956dfdSArrigo Marchiori.ELSE
61bb956dfdSArrigo Marchiorissl_param=--with-ssl=$(OUTDIR)
628eb9a7e6SDamjan Jovanoviccurl_CFLAGS+=-I$(SOLARINCDIR)$/external
638eb9a7e6SDamjan Jovanoviccurl_LDFLAGS+=-L$(SOLARLIBDIR) -Wl,-z,origin -Wl,-rpath,\\\$$\$$ORIGIN
64bb956dfdSArrigo MarchioriPATCH_FILES+= curl-bundled_openssl.patch
65bb956dfdSArrigo Marchiori.ENDIF
66bb956dfdSArrigo Marchiori
67cdf0e10cSrcweirCONFIGURE_DIR=.$/
68cdf0e10cSrcweir#relative to CONFIGURE_DIR
69cdf0e10cSrcweirCONFIGURE_ACTION=.$/configure
70bb956dfdSArrigo 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)"
71cdf0e10cSrcweir
72cdf0e10cSrcweirBUILD_DIR=$(CONFIGURE_DIR)$/lib
73cdf0e10cSrcweirBUILD_ACTION=$(GNUMAKE)
74cdf0e10cSrcweirBUILD_FLAGS+= -j$(EXTMAXPROCESS)
75cdf0e10cSrcweir
76cdf0e10cSrcweirOUT2LIB=$(BUILD_DIR)$/.libs$/libcurl$(DLLPOST).4
77cdf0e10cSrcweir.ENDIF          # "$(GUI)"=="UNX"
78cdf0e10cSrcweir
79cdf0e10cSrcweir
80cdf0e10cSrcweir.IF "$(GUI)"=="WNT"
81cdf0e10cSrcweir.IF "$(COM)"=="GCC"
82cdf0e10cSrcweircurl_CC=$(CC) -mthreads
83cdf0e10cSrcweir.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
84cdf0e10cSrcweircurl_CC+=-shared-libgcc
85cdf0e10cSrcweir.ENDIF
86cdf0e10cSrcweircurl_LIBS=-lws2_32 -lwinmm
87cdf0e10cSrcweir.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
88cdf0e10cSrcweircurl_LIBS+=$(MINGW_SHARED_LIBSTDCPP)
89cdf0e10cSrcweir.ENDIF
90cdf0e10cSrcweirCONFIGURE_DIR=.$/
91cdf0e10cSrcweir#relative to CONFIGURE_DIR
92cdf0e10cSrcweirCONFIGURE_ACTION=.$/configure
9351ba086bSDamjan 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)"
94cdf0e10cSrcweirBUILD_DIR=$(CONFIGURE_DIR)$/lib
95cdf0e10cSrcweirBUILD_ACTION=make
96cdf0e10cSrcweirOUT2BIN=$(BUILD_DIR)$/.libs$/libcurl*.dll
97cdf0e10cSrcweirOUT2LIB=$(BUILD_DIR)$/.libs$/libcurl*.dll.a
98cdf0e10cSrcweir.ELSE
99cdf0e10cSrcweir# make use of stlport headerfiles
100cdf0e10cSrcweirEXT_USE_STLPORT=TRUE
101cdf0e10cSrcweir
102cdf0e10cSrcweir.IF "$(CCNUMVER)" > "001399999999"
103cdf0e10cSrcweirEXCFLAGS="/EHa /Zc:wchar_t- /D "_CRT_SECURE_NO_DEPRECATE""
104cdf0e10cSrcweir.ELSE
105cdf0e10cSrcweirEXCFLAGS="/EHsc /YX"
106cdf0e10cSrcweir.ENDIF
107cdf0e10cSrcweir
108e35fcbcfSDamjan Jovanovic.IF "$(CPUNAME)"=="INTEL"
109e35fcbcfSDamjan Jovanoviccurl_MACHINE:="X86"
110e35fcbcfSDamjan Jovanovic.ELIF "$(CPUNAME)"=="X86_64"
111e35fcbcfSDamjan Jovanoviccurl_MACHINE:="X64"
112e35fcbcfSDamjan Jovanovic.ENDIF
113e35fcbcfSDamjan Jovanovic
11468576893SDon LewisBUILD_DIR=.$/winbuild
115cdf0e10cSrcweir.IF "$(debug)"==""
11651ba086bSDamjan 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
117cdf0e10cSrcweir.ELSE
11851ba086bSDamjan 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
119cdf0e10cSrcweir.ENDIF
120cdf0e10cSrcweir
1218c07c6ecSDamjan Jovanovic.IF "$(CPUNAME)"=="INTEL"
12235dc6591SDamjan Jovanovic
123a5bfa95fSDamjan Jovanovic.IF "$(debug)"==""
12451ba086bSDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-release-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl.dll
12551ba086bSDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-release-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl.lib
12635dc6591SDamjan Jovanovic.ELSE
127*10f111eaSDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl_debug.dll
128*10f111eaSDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X86-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl_debug.lib
12935dc6591SDamjan Jovanovic.ENDIF
13035dc6591SDamjan Jovanovic
1318c07c6ecSDamjan Jovanovic.ELIF "$(CPUNAME)"=="X86_64"
13235dc6591SDamjan Jovanovic
133a5bfa95fSDamjan Jovanovic.IF "$(debug)"==""
13451ba086bSDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-release-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl.dll
13551ba086bSDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-release-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl.lib
13635dc6591SDamjan Jovanovic.ELSE
137*10f111eaSDamjan JovanovicOUT2BIN=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/bin/libcurl_debug.dll
138*10f111eaSDamjan JovanovicOUT2LIB=$(BUILD_DIR)$/../builds/libcurl-vc9-X64-debug-dll-ssl-dll-zlib-dll-ipv6-sspi/lib/libcurl_debug.lib
13935dc6591SDamjan Jovanovic.ENDIF
14035dc6591SDamjan Jovanovic
1418c07c6ecSDamjan Jovanovic.ENDIF
142cdf0e10cSrcweir
143cdf0e10cSrcweir.ENDIF
144cdf0e10cSrcweir.ENDIF          # "$(GUI)"=="WNT"
145cdf0e10cSrcweir
146cdf0e10cSrcweir.IF "$(GUI)"=="OS2"
147cdf0e10cSrcweir# make use of stlport headerfiles
148cdf0e10cSrcweirEXT_USE_STLPORT=TRUE
149cdf0e10cSrcweir
150cdf0e10cSrcweirBUILD_DIR=.$/lib
151cdf0e10cSrcweir.IF "$(debug)"==""
152cdf0e10cSrcweirBUILD_ACTION=make -f Makefile.os2
153cdf0e10cSrcweir.ELSE
154cdf0e10cSrcweirBUILD_ACTION=make -f Makefile.os2
155cdf0e10cSrcweir.ENDIF
156cdf0e10cSrcweir
157cdf0e10cSrcweirOUT2BIN=$(BUILD_DIR)$/libcurl.dll
158cdf0e10cSrcweirOUT2LIB=$(BUILD_DIR)$/libcurl.lib
159cdf0e10cSrcweir
160cdf0e10cSrcweir.ENDIF          # "$(GUI)"=="OS2"
161cdf0e10cSrcweir
162cdf0e10cSrcweirOUT2INC= \
163cdf0e10cSrcweir    include$/curl$/curl.h           \
164cdf0e10cSrcweir    include$/curl$/curlver.h        \
165e469ab6aSDamjan Jovanovic    include$/curl$/easy.h           \
166e469ab6aSDamjan Jovanovic    include$/curl$/header.h         \
167cdf0e10cSrcweir    include$/curl$/mprintf.h        \
168e469ab6aSDamjan Jovanovic    include$/curl$/multi.h          \
169e469ab6aSDamjan Jovanovic    include$/curl$/options.h        \
170e469ab6aSDamjan Jovanovic    include$/curl$/stdcheaders.h    \
17149c55ee5SDon Lewis    include$/curl$/system.h         \
172e469ab6aSDamjan Jovanovic    include$/curl$/typecheck-gcc.h      \
173e469ab6aSDamjan Jovanovic    include$/curl$/urlapi.h         \
174e469ab6aSDamjan Jovanovic    include$/curl$/websockets.h
17568576893SDon Lewis
176cdf0e10cSrcweir
177cdf0e10cSrcweir# --- Targets ------------------------------------------------------
178cdf0e10cSrcweir
179cdf0e10cSrcweir.INCLUDE : set_ext.mk
180cdf0e10cSrcweir.INCLUDE : target.mk
181cdf0e10cSrcweir.INCLUDE : tg_ext.mk
182