]> sjero.net Git - wget/blob - windows/Makefile.src
[svn] Also depend on config.h.
[wget] / windows / Makefile.src
1 # Makefile for `wget' utility for MSVC
2 # Copyright (C) 1995, 1996, 1997, 2004 Free Software Foundation, Inc.
3
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 # In addition, as a special exception, the Free Software Foundation
19 # gives permission to link the code of its release of Wget with the
20 # OpenSSL project's "OpenSSL" library (or with modified versions of it
21 # that use the same license as the "OpenSSL" library), and distribute
22 # the linked executables.  You must obey the GNU General Public License
23 # in all respects for all of the code used other than "OpenSSL".  If you
24 # modify this file, you may extend this exception to your version of the
25 # file, but you are not obligated to do so.  If you do not wish to do
26 # so, delete this exception statement from your version.
27
28
29 # SSL (https) support requires the OpenSSL library (see http://www.openssl.org/).
30 # If you do not have OpenSSL installed or wish to build Wget without SSL
31 # support, either comment-out the following lines or define NO_SSL.
32 !ifndef NO_SSL
33 SSLDEFS = /DHAVE_SSL
34 SSLLIBS = libeay32.lib ssleay32.lib
35 SSLOBJ  = openssl$o http-ntlm$o
36 !endif
37
38 o = .obj
39
40 CC      = cl
41 LD      = link
42 RM      = -del
43
44 DEFS    = /DWINDOWS /D_CONSOLE /DHAVE_CONFIG_H $(SSLDEFS)
45 LIBS    = kernel32.lib advapi32.lib wsock32.lib user32.lib gdi32.lib $(SSLLIBS)
46
47 !ifdef DEBUG
48 CFLAGS  = /nologo /MTd /Od /Zi /I. $(DEFS)
49 LDFLAGS = /debug
50 !else
51 CFLAGS  = /nologo /MT /O2 /I. $(DEFS)
52 LDFLAGS = /opt:ref #/opt:nowin98
53 !endif
54
55
56 # The following enables security checks and is recommended if you are using
57 # MSVC 7.0 (or later) for 80x86.
58 !ifdef SECURITY_CHECKS
59 CFLAGS  = $(CFLAGS) /GS
60 !endif
61
62 # The following enables link-time code generation (Cross-file
63 # interprocedural optimizations).
64 !ifdef LTCG
65 CFLAGS  = $(CFLAGS) /GL
66 LDFLAGS = $(LDFLAGS) /ltcg:status
67 !endif
68
69 OBJ = cmpt$o safe-ctype$o convert$o connect$o host$o http$o netrc$o \
70       ftp-basic$o ftp$o ftp-ls$o ftp-opie$o getopt$o hash$o \
71       html-parse$o html-url$o progress$o retr$o recur$o res$o url$o cookies$o \
72       init$o utils$o main$o ptimer$o version$o xmalloc$o mswindows$o \
73       gen-md5$o gnu-md5$o log$o $(SSLOBJ)
74
75 .SUFFIXES: .c .obj
76
77 # If this doesn't work for you, remove the second colon.
78 .c.obj::
79         $(CC) $(CFLAGS) /c $<
80
81 # Dependencies for building
82
83 wget.exe: $(OBJ)
84         $(LD) @<< $(LDFLAGS) /out:$@ $(OBJ) $(LIBS)
85 <<
86
87 $(OBJ): config-post.h config.h connect.h convert.h cookies.h ftp.h gen-md5.h \
88         getopt.h gnu-md5.h hash.h host.h html-parse.h http-ntlm.h   \
89         init.h log.h mswindows.h netrc.h options.h progress.h       \
90         ptimer.h recur.h res.h retr.h safe-ctype.h ssl.h sysdep.h   \
91         url.h utils.h wget.h xmalloc.h
92
93 #
94 # Dependencies for cleanup
95 #
96
97 clean:
98         $(RM) *.bak
99         $(RM) *.obj
100         $(RM) *.exe
101         $(RM) *.pdb
102         $(RM) *.map
103         $(RM) *.ilk
104
105 distclean: clean
106         $(RM) Makefile
107         $(RM) config.h
108
109 realclean: distclean
110         $(RM) TAGS