#
# $VER: cURL Makefile for AmigaOS ...
#

# change the follow to where you have the AmiTCP SDK v4.3 includes:

ATCPSDKI=	/GG/netinclude


CC	=	m68k-amigaos-gcc
CFLAGS	=	-I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall
LIBS	=	../lib/libcurl.a -lssl -lcrypto -lz
MANPAGE =	../docs/curl.1
README	=	../docs/MANUAL
MKHELP	=	../src/mkhelp.pl

top_srcdir = ..

include Makefile.inc

OBJS = $(CURL_CFILES:.c=.o) $(CURLX_ONES:.c=.o)

all:	hugehelp.c $(OBJS)
	$(CC) $(CFLAGS) -o cURL $(OBJS) $(LIBS) -Wl,-Map,cURL.map,--cref

hugehelp.c: $(README) $(MANPAGE)  mkhelp.pl
	rm -f hugehelp.c
	/bin/nroff -man $(MANPAGE) | /bin/perl $(MKHELP) -c $(README) > hugehelp.c

install:
	$(INSTALL) -c cURL /c/cURL

