#############################################################################
#                                  _   _ ____  _     
#  Project                     ___| | | |  _ \| |    
#                             / __| | | | |_) | |    
#                            | (__| |_| |  _ <| |___ 
#                             \___|\___/|_| \_\_____|
#
# Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# In order to be useful for every potential user, curl and libcurl are
# dual-licensed under the MPL and the MIT/X-derivate licenses.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the MPL or the MIT/X-derivate
# licenses. You may pick one of these licenses.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
# $Id$
#############################################################################

all:
	./configure
	make

ssl:
	./configure --with-ssl
	make

borland:
	cd lib; make -f Makefile.b32
	cd src; make -f Makefile.b32

mingw32:
	cd lib; make -f Makefile.m32
	cd src; make -f Makefile.m32

mingw32-ssl:
	cd lib; make -f Makefile.m32 SSL=1
	cd src; make -f Makefile.m32 SSL=1

vc:
	cd lib
	nmake -f Makefile.vc6
	cd ..\src
	nmake -f Makefile.vc6

vc-ssl:
	cd lib
	nmake -f Makefile.vc6 release-ssl
	cd ..\src
	nmake -f Makefile.vc6

cygwin:
	./configure
	make

cygwin-ssl:
	./configure --with-ssl
	make

unix: all

unix-ssl: ssl

linux: all

linux-ssl: ssl
