## Compiler, linker, and lib stuff
## Makefile for use with MinGW GCC/Win32 executable.
##
## ----------------------------------------------------
## USAGE:
##   You can type either
##       mingw32-make
##   to build wget.exe without SSL support or
##       mingw32-make SSL=1
##   to build wget.exe with SSL support.
##
## ----------------------------------------------------
## NOTE: If you plan to build WGET.EXE with SSL support,
##       please check the value of OPENSSL_PATH in this file
##	 and correct it if it is not the OpenSSL installed directory.

CC=gcc
LDFLAGS= -s
CFLAGS= -DWINDOWS -DHAVE_CONFIG_H -O3 -Wall -I.

## variables
LIBS= -lwsock32
OBJ_EXT=.o
OBJS=cmpt${OBJ_EXT} convert${OBJ_EXT} connect${OBJ_EXT} ftp${OBJ_EXT} ftp-basic${OBJ_EXT}  \
      ftp-ls${OBJ_EXT} ftp-opie${OBJ_EXT} getopt${OBJ_EXT} host${OBJ_EXT} html-parse${OBJ_EXT} html-url${OBJ_EXT} \
      http${OBJ_EXT} init${OBJ_EXT} log${OBJ_EXT} main${OBJ_EXT} gnu-md5${OBJ_EXT} netrc${OBJ_EXT} \
      safe-ctype${OBJ_EXT} hash${OBJ_EXT} progress${OBJ_EXT} gen-md5${OBJ_EXT} cookies${OBJ_EXT} \
      ptimer${OBJ_EXT} recur${OBJ_EXT} res${OBJ_EXT} retr${OBJ_EXT} url${OBJ_EXT} utils${OBJ_EXT} \
      version${OBJ_EXT} xmalloc${OBJ_EXT} mswindows${OBJ_EXT} 

ifdef SSL
    ## OPENSSL_PATH is the OpenSSL installed directory
    OPENSSL_PATH = ../../openssl-0.9.7c
    CFLAGS += -I${OPENSSL_PATH}/outinc -DHAVE_SSL
    LIBS += -L${OPENSSL_PATH}/out -leay32 -lssl32
    OBJS += openssl${OBJ_EXT} http-ntlm${OBJ_EXT}
endif

all: wget.exe

wget.exe: $(OBJS)
	${CC} ${LDFLAGS} -o $@ ${OBJS} ${LIBS}

$(OBJS): config-post.h config.h connect.h convert.h cookies.h ftp.h gen-md5.h \
         getopt.h gnu-md5.h hash.h host.h html-parse.h http-ntlm.h   \
         init.h log.h mswindows.h netrc.h options.h progress.h       \
         ptimer.h recur.h res.h retr.h safe-ctype.h ssl.h sysdep.h   \
         url.h utils.h wget.h xmalloc.h

o = ${OBJ_EXT}
