blob: 5967db1fe8b3af8bafd9765eed69c4902997eb6a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
!IF "$(MODE)"=="static"
TARGET = $(LIB_NAME_STATIC)
AS_DLL = false
CFGSET=true
!ELSEIF "$(MODE)"=="dll"
TARGET = $(LIB_NAME_DLL)
AS_DLL = true
CFGSET=true
!ELSE
!MESSAGE Invalid mode: $(MODE)
#######################
# Usage
#
!MESSAGE Usage: nmake /f makefile.vc mode=<static or dll> <options>
!MESSAGE where <options> is one or many of:
!MESSAGE VC=<6,7,8,9,10> - VC versions
!MESSAGE WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
!MESSAGE Default to sibbling directory deps: ../deps
!MESSAGE Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
!MESSAGE Uncompress them into the deps folder.
!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
!MESSAGE WITH_ZLIB=<dll or static> - Enable ZLib support, DLL or static
!MESSAGE WITH_SSH2=<dll or static> - Enable LIbSSH2 support, DLL or static
!MESSAGE USE_SSSPI=<yes or no> - Enable SSPI support, default to yes
!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPV6, default to yes
!MESSAGE DEBUG=<yes or no> - Debug builds
!MESSAGE ENABLE_IDN=<yes or no> - Wheter or not to use IDN Windows APIs. Requires Windows Vista or later.
!MESSAGE or to install http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols release build)
!ERROR please choose a valid mode
!ENDIF
!INCLUDE "../lib/Makefile.inc"
LIBCURL_OBJS=$(CSOURCES:.c=.obj)
top_srcdir=..
!INCLUDE "../src/Makefile.inc"
# hugehelp has a special rule
CURL_OBJS= $(CURL_CFILES:hugehelp.c=)
CURL_OBJS=$(CURL_OBJS:.c=.obj)
# default options
!IFNDEF USE_SSPI
USE_SSPI=true
!ENDIF
!IFNDEF ENABLE_IPV6
USE_IPV6 =true
!ELSEIF "$(ENABLE_IPV6)"=="yes"
USE_IPV6 =true
!ENDIF
!IFNDEF ENABLE_IDN
USE_IDN=true
!ENDIF
CONFIG_NAME_LIB = libcurl
!IF "$(WITH_SSL)"=="dll"
USE_SSL = true
SSL=dll
!ELSEIF "$(WITH_SSL)"=="static"
USE_SSL = true
SSL=static
!ENDIF
!IF "$(WITH_ZLIB)"=="dll"
USE_ZLIB = true
zlib=dll
!ELSEIF "$(WITH_ZLIB)"=="static"
USE_ZLIB = true
ZLIB=static
!ENDIF
!IF "$(WITH_SSH2)"=="dll"
USE_SSH2 = true
SSH2=dll
!ELSEIF "$(WITH_SSH2)"=="static"
USE_SSH2 = true
SSH2=static
!ENDIF
!IF "$(DEBUG)"=="yes"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
!ELSE
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release
!ENDIF
!IF "$(AS_DLL)" == "true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll
!ELSE
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
!ENDIF
!IF "$(USE_SSL)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
!ENDIF
!IF "$(USE_ZLIB)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)
!ENDIF
!IF "$(USE_SSH2)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)
!ENDIF
!IF "$(USE_IPV6)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6
!ENDIF
!IF "$(USE_SSPI)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
!ENDIF
!MESSAGE configuration name: $(CONFIG_NAME_LIB)
BUILD_DIR=../builds/$(CONFIG_NAME_LIB)
LIBCURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib
CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
$(MODE):
@SET LIBCURL_DIROBJ=$(LIBCURL_DIROBJ)
@SET MACRO_NAME=LIBCURL_OBJS
@SET OUTFILE=LIBCURL_OBJS.inc
@gen_resp_file.bat $(LIBCURL_OBJS)
@SET LIBCURL_DIROBJ=$(CURL_DIROBJ)
@SET MACRO_NAME=CURL_OBJS
@SET OUTFILE=CURL_OBJS.inc
@gen_resp_file.bat $(CURL_OBJS)
@$(MAKE) /NOLOGO /F MakefileBuild.vc
copy_from_lib:
echo copying .c...
FOR %%i IN ($(CURLX_ONES:/=\)) DO copy %%i ..\src\
|