default: it

alloc.o: \
alloc.h \
error.h \
alloc.c \
compile
	./compile alloc.c

alloc_re.o: \
alloc.h \
byte.h \
alloc_re.c \
compile
	./compile alloc_re.c

auto-str.o: \
buffer.h \
auto-str.c \
compile
	./compile auto-str.c

base32.o: \
base32.h \
error.h \
gen_alloc.h \
stralloc.h \
base32.c \
compile
	./compile base32.c

buffer_1.o: \
buffer.h \
buffer_1.c \
compile
	./compile buffer_1.c

buffer_1small.o: \
buffer.h \
buffer_1small.c \
compile
	./compile buffer_1small.c

buffer_2.o: \
buffer.h \
buffer_2.c \
compile
	./compile buffer_2.c

buffer.o: \
buffer.h \
buffer.c \
compile
	./compile buffer.c

buffer_copy.o: \
buffer.h \
buffer_copy.c \
compile
	./compile buffer_copy.c

buffer_get.o: \
buffer.h \
byte.h \
error.h \
buffer_get.c \
compile
	./compile buffer_get.c

buffer_put.o: \
buffer.h \
byte.h \
error.h \
str.h \
buffer_put.c \
compile
	./compile buffer_put.c

buffer_read.o: \
buffer.h \
buffer_read.c \
compile
	./compile buffer_read.c

buffer_write.o: \
buffer.h \
buffer_write.c \
compile
	./compile buffer_write.c

byte_chr.o: \
byte.h \
byte_chr.c \
compile
	./compile byte_chr.c

byte_copy.o: \
byte.h \
byte_copy.c \
compile
	./compile byte_copy.c

byte_cr.o: \
byte.h \
byte_cr.c \
compile
	./compile byte_cr.c

byte_diff.o: \
byte.h \
byte_diff.c \
compile
	./compile byte_diff.c

byte_zero.o: \
byte.h \
byte_zero.c \
compile
	./compile byte_zero.c

case_diffb.o: \
case.h \
case_diffb.c \
compile
	./compile case_diffb.c

case_starts.o: \
case.h \
case_starts.c \
compile
	./compile case_starts.c

constmap.o: \
alloc.h \
case.h \
constmap.h \
constmap.c \
compile
	./compile constmap.c

control.o: \
alloc.h \
buffer.h \
control.h \
error.h \
gen_alloc.h \
getln.h \
open.h \
scan.h \
stralloc.h \
control.c \
compile
	./compile control.c

curveresolve.o: \
base32.h \
byte.h \
case.h \
dns.h \
error.h \
gen_alloc.h \
hexparse.h \
iopause.h \
stralloc.h \
strerr.h \
str.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
curveresolve.c \
compile
	./compile curveresolve.c

dns_dfd.o: \
alloc.h \
byte.h \
dns.h \
error.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_dfd.c \
compile
	./compile dns_dfd.c

dns_domain.o: \
alloc.h \
byte.h \
case.h \
dns.h \
error.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_domain.c \
compile
	./compile dns_domain.c

dns_dtda.o: \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_dtda.c \
compile
	./compile dns_dtda.c

dns_ip.o: \
byte.h \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
dns_ip.c \
compile
	./compile dns_ip.c

dns_ipq.o: \
byte.h \
case.h \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
str.h \
taia.h \
tai.h \
uint64.h \
dns_ipq.c \
compile
	./compile dns_ipq.c

dns_mx.o: \
byte.h \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
dns_mx.c \
compile
	./compile dns_mx.c

dns_mxip.o: \
byte.h \
curveresolve.h \
dns.h \
dns_mxip.h \
error.h \
gen_alloc.h \
iopause.h \
ipalloc.h \
stralloc.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
dns_mxip.c \
compile
	./compile dns_mxip.c

dns_name.o: \
byte.h \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
dns_name.c \
compile
	./compile dns_name.c

dns_nd.o: \
byte.h \
dns.h \
fmt.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_nd.c \
compile
	./compile dns_nd.c

dns_packet.o: \
dns.h \
error.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_packet.c \
compile
	./compile dns_packet.c

dns_random.o: \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint32.h \
uint64.h \
dns_random.c \
compile
	./compile dns_random.c

dns_rcip.o: \
byte.h \
dns.h \
env.h \
gen_alloc.h \
iopause.h \
ip4.h \
openreadclose.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_rcip.c \
compile
	./compile dns_rcip.c

dns_rcrw.o: \
byte.h \
dns.h \
env.h \
gen_alloc.h \
iopause.h \
openreadclose.h \
stralloc.h \
str.h \
taia.h \
tai.h \
uint64.h \
dns_rcrw.c \
compile
	./compile dns_rcrw.c

dns_resolve.o: \
byte.h \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_resolve.c \
compile
	./compile dns_resolve.c

dns_sortip.o: \
byte.h \
dns.h \
gen_alloc.h \
iopause.h \
stralloc.h \
taia.h \
tai.h \
uint64.h \
dns_sortip.c \
compile
	./compile dns_sortip.c

dns_transmit.o: \
alloc.h \
byte.h \
dns.h \
error.h \
gen_alloc.h \
iopause.h \
socket.h \
stralloc.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
dns_transmit.c \
compile
	./compile dns_transmit.c

env.o: \
env.h \
str.h \
env.c \
compile
	./compile env.c

error.o: \
error.h \
error.c \
compile
	./compile error.c

error_str.o: \
error.h \
error_str.c \
compile
	./compile error_str.c

fd_copy.o: \
fd.h \
fd_copy.c \
compile
	./compile fd_copy.c

fd_move.o: \
fd.h \
fd_move.c \
compile
	./compile fd_move.c

fmt_ulong.o: \
fmt.h \
fmt_ulong.c \
compile
	./compile fmt_ulong.c

fmt_ulonglong.o: \
fmt.h \
fmt_ulonglong.c \
compile
	./compile fmt_ulonglong.c

forkexecreadwait.o: \
error.h \
fd.h \
forkexecreadwait.h \
gen_alloc.h \
ndelay.h \
pathexec.h \
stralloc.h \
wait.h \
forkexecreadwait.c \
compile
	./compile forkexecreadwait.c

getln2.o: \
buffer.h \
byte.h \
gen_alloc.h \
getln.h \
stralloc.h \
getln2.c \
compile
	./compile getln2.c

getln.o: \
buffer.h \
byte.h \
gen_alloc.h \
getln.h \
stralloc.h \
getln.c \
compile
	./compile getln.c

hexparse.o: \
hexparse.h \
hexparse.c \
compile
	./compile hexparse.c

iopause.o: \
iopause.h \
select.h \
taia.h \
tai.h \
uint64.h \
iopause.c \
compile
	./compile iopause.c

ip4_fmt.o: \
fmt.h \
ip4.h \
ip4_fmt.c \
compile
	./compile ip4_fmt.c

ip4_scan.o: \
ip4.h \
scan.h \
ip4_scan.c \
compile
	./compile ip4_scan.c

ipalloc.o: \
alloc.h \
gen_allocdefs.h \
gen_alloc.h \
ipalloc.h \
ipalloc.c \
compile
	./compile ipalloc.c

ipme.o: \
byte.h \
gen_alloc.h \
hassalen.h \
ip4.h \
ipalloc.h \
ipme.h \
stralloc.h \
ipme.c \
compile
	./compile ipme.c

ipmeprint.o: \
buffer.h \
gen_alloc.h \
ip4.h \
ipalloc.h \
ipme.h \
ipmeprint.c \
compile
	./compile ipmeprint.c

ndelay_off.o: \
ndelay.h \
ndelay_off.c \
compile
	./compile ndelay_off.c

ndelay_on.o: \
ndelay.h \
ndelay_on.c \
compile
	./compile ndelay_on.c

open_read.o: \
open.h \
open_read.c \
compile
	./compile open_read.c

openreadclose.o: \
error.h \
gen_alloc.h \
open.h \
openreadclose.h \
readclose.h \
stralloc.h \
openreadclose.c \
compile
	./compile openreadclose.c

pathexec_env.o: \
alloc.h \
byte.h \
env.h \
gen_alloc.h \
pathexec.h \
stralloc.h \
str.h \
pathexec_env.c \
compile
	./compile pathexec_env.c

pathexec_run.o: \
env.h \
error.h \
gen_alloc.h \
pathexec.h \
stralloc.h \
str.h \
pathexec_run.c \
compile
	./compile pathexec_run.c

qmail-remote.o: \
alloc.h \
auto_qmail.h \
buffer.h \
byte.h \
constmap.h \
control.h \
curveresolve.h \
dns.h \
dns_mxip.h \
error.h \
fmt.h \
forkexecreadwait.h \
gen_alloc.h \
iopause.h \
ip4.h \
ipalloc.h \
ipme.h \
pathexec.h \
scan.h \
stralloc.h \
str.h \
taia.h \
tai.h \
uint64.h \
qmail-remote.c \
compile
	./compile qmail-remote.c

qmail-rsmtp.o: \
buffer.h \
env.h \
fmt.h \
gen_alloc.h \
scan.h \
stralloc.h \
str.h \
timeoutread.h \
timeoutwrite.h \
qmail-rsmtp.c \
compile
	./compile qmail-rsmtp.c

qmail-tcpclient.o: \
buffer.h \
dns.h \
error.h \
fd.h \
fmt.h \
gen_alloc.h \
iopause.h \
ip4.h \
pathexec.h \
remoteinfo.h \
scan.h \
sgetopt.h \
socket.h \
stralloc.h \
strerr.h \
str.h \
subgetopt.h \
taia.h \
tai.h \
timeoutconn.h \
uint16.h \
uint64.h \
qmail-tcpclient.c \
compile
	./compile qmail-tcpclient.c

readclose.o: \
error.h \
gen_alloc.h \
readclose.h \
stralloc.h \
readclose.c \
compile
	./compile readclose.c

remoteinfo.o: \
buffer.h \
error.h \
fmt.h \
gen_alloc.h \
iopause.h \
remoteinfo.h \
socket.h \
stralloc.h \
timeoutconn.h \
uint16.h \
remoteinfo.c \
compile
	./compile remoteinfo.c

scan_ulong.o: \
scan.h \
scan_ulong.c \
compile
	./compile scan_ulong.c

sgetopt.o: \
buffer.h \
sgetopt.h \
subgetopt.h \
sgetopt.c \
compile
	./compile sgetopt.c

showdnsmx.o: \
buffer.h \
byte.h \
curveresolve.h \
dns.h \
dns_mxip.h \
error.h \
fmt.h \
gen_alloc.h \
iopause.h \
ip4.h \
ipalloc.h \
stralloc.h \
strerr.h \
str.h \
taia.h \
tai.h \
uint16.h \
uint64.h \
showdnsmx.c \
compile
	./compile showdnsmx.c

socket_bind.o: \
byte.h \
socket.h \
uint16.h \
socket_bind.c \
compile
	./compile socket_bind.c

socket_conn.o: \
byte.h \
socket.h \
uint16.h \
socket_conn.c \
compile
	./compile socket_conn.c

socket_delay.o: \
socket.h \
uint16.h \
socket_delay.c \
compile
	./compile socket_delay.c

socket_local.o: \
byte.h \
socket.h \
uint16.h \
socket_local.c \
compile
	./compile socket_local.c

socket_remote.o: \
byte.h \
socket.h \
uint16.h \
socket_remote.c \
compile
	./compile socket_remote.c

socket_tcp.o: \
ndelay.h \
socket.h \
uint16.h \
socket_tcp.c \
compile
	./compile socket_tcp.c

socket_udp.o: \
ndelay.h \
socket.h \
uint16.h \
socket_udp.c \
compile
	./compile socket_udp.c

stralloc_catb.o: \
byte.h \
gen_alloc.h \
stralloc.h \
stralloc_catb.c \
compile
	./compile stralloc_catb.c

stralloc_cat.o: \
byte.h \
gen_alloc.h \
stralloc.h \
stralloc_cat.c \
compile
	./compile stralloc_cat.c

stralloc_cats.o: \
byte.h \
gen_alloc.h \
stralloc.h \
str.h \
stralloc_cats.c \
compile
	./compile stralloc_cats.c

stralloc_copy.o: \
byte.h \
gen_alloc.h \
stralloc.h \
stralloc_copy.c \
compile
	./compile stralloc_copy.c

stralloc_eady.o: \
alloc.h \
gen_allocdefs.h \
gen_alloc.h \
stralloc.h \
stralloc_eady.c \
compile
	./compile stralloc_eady.c

stralloc_opyb.o: \
byte.h \
gen_alloc.h \
stralloc.h \
stralloc_opyb.c \
compile
	./compile stralloc_opyb.c

stralloc_opys.o: \
byte.h \
gen_alloc.h \
stralloc.h \
str.h \
stralloc_opys.c \
compile
	./compile stralloc_opys.c

stralloc_pend.o: \
alloc.h \
gen_allocdefs.h \
gen_alloc.h \
stralloc.h \
stralloc_pend.c \
compile
	./compile stralloc_pend.c

str_chr.o: \
str.h \
str_chr.c \
compile
	./compile str_chr.c

str_diff.o: \
str.h \
str_diff.c \
compile
	./compile str_diff.c

strerr_die.o: \
buffer.h \
strerr.h \
strerr_die.c \
compile
	./compile strerr_die.c

strerr_sys.o: \
error.h \
strerr.h \
strerr_sys.c \
compile
	./compile strerr_sys.c

str_len.o: \
str.h \
str_len.c \
compile
	./compile str_len.c

str_start.o: \
str.h \
str_start.c \
compile
	./compile str_start.c

subgetopt.o: \
subgetopt.h \
subgetopt.c \
compile
	./compile subgetopt.c

taia_add.o: \
taia.h \
tai.h \
uint64.h \
taia_add.c \
compile
	./compile taia_add.c

taia_approx.o: \
taia.h \
tai.h \
uint64.h \
taia_approx.c \
compile
	./compile taia_approx.c

taia_frac.o: \
taia.h \
tai.h \
uint64.h \
taia_frac.c \
compile
	./compile taia_frac.c

taia_less.o: \
taia.h \
tai.h \
uint64.h \
taia_less.c \
compile
	./compile taia_less.c

taia_now.o: \
taia.h \
tai.h \
uint64.h \
taia_now.c \
compile
	./compile taia_now.c

taia_pack.o: \
taia.h \
tai.h \
uint64.h \
taia_pack.c \
compile
	./compile taia_pack.c

taia_sub.o: \
taia.h \
tai.h \
uint64.h \
taia_sub.c \
compile
	./compile taia_sub.c

taia_uint.o: \
taia.h \
tai.h \
uint64.h \
taia_uint.c \
compile
	./compile taia_uint.c

tai_now.o: \
tai.h \
uint64.h \
tai_now.c \
compile
	./compile tai_now.c

tai_pack.o: \
tai.h \
uint64.h \
tai_pack.c \
compile
	./compile tai_pack.c

timeoutconn.o: \
error.h \
iopause.h \
ndelay.h \
socket.h \
timeoutconn.h \
uint16.h \
timeoutconn.c \
compile
	./compile timeoutconn.c

timeoutread.o: \
error.h \
iopause.h \
timeoutread.h \
timeoutread.c \
compile
	./compile timeoutread.c

timeoutwrite.o: \
error.h \
iopause.h \
timeoutwrite.h \
timeoutwrite.c \
compile
	./compile timeoutwrite.c

trylib.o: \
trylib.c \
compile
	./compile trylib.c

uint16_pack.o: \
uint16.h \
uint16_pack.c \
compile
	./compile uint16_pack.c

uint16_unpack.o: \
uint16.h \
uint16_unpack.c \
compile
	./compile uint16_unpack.c

uint32_unpack.o: \
uint32.h \
uint32_unpack.c \
compile
	./compile uint32_unpack.c

wait_pid.o: \
error.h \
wait_pid.c \
compile
	./compile wait_pid.c

library.a: \
makelib alloc.o alloc_re.o base32.o buffer_1.o \
buffer_1small.o buffer_2.o buffer.o buffer_copy.o \
buffer_get.o buffer_put.o buffer_read.o buffer_write.o \
byte_chr.o byte_copy.o byte_cr.o byte_diff.o \
byte_zero.o case_diffb.o case_starts.o constmap.o \
control.o curveresolve.o dns_dfd.o dns_domain.o \
dns_dtda.o dns_ip.o dns_ipq.o dns_mx.o dns_mxip.o \
dns_name.o dns_nd.o dns_packet.o dns_random.o \
dns_rcip.o dns_rcrw.o dns_resolve.o dns_sortip.o \
dns_transmit.o env.o error.o error_str.o \
fd_copy.o fd_move.o fmt_ulong.o fmt_ulonglong.o \
forkexecreadwait.o getln2.o getln.o hexparse.o \
iopause.o ip4_fmt.o ip4_scan.o ipalloc.o \
ipme.o ndelay_off.o ndelay_on.o open_read.o \
openreadclose.o pathexec_env.o pathexec_run.o \
readclose.o remoteinfo.o scan_ulong.o sgetopt.o \
socket_bind.o socket_conn.o socket_delay.o \
socket_local.o socket_remote.o socket_tcp.o \
socket_udp.o stralloc_catb.o stralloc_cat.o \
stralloc_cats.o stralloc_copy.o stralloc_eady.o \
stralloc_opyb.o stralloc_opys.o stralloc_pend.o \
str_chr.o str_diff.o strerr_die.o strerr_sys.o \
str_len.o str_start.o subgetopt.o taia_add.o \
taia_approx.o taia_frac.o taia_less.o taia_now.o \
taia_pack.o taia_sub.o taia_uint.o tai_now.o \
tai_pack.o timeoutconn.o timeoutread.o timeoutwrite.o \
uint16_pack.o uint16_unpack.o uint32_unpack.o \
wait_pid.o 
	./makelib library.a alloc.o alloc_re.o base32.o \
	buffer_1.o buffer_1small.o buffer_2.o buffer.o \
	buffer_copy.o buffer_get.o buffer_put.o buffer_read.o \
	buffer_write.o byte_chr.o byte_copy.o byte_cr.o \
	byte_diff.o byte_zero.o case_diffb.o case_starts.o \
	constmap.o control.o curveresolve.o dns_dfd.o \
	dns_domain.o dns_dtda.o dns_ip.o dns_ipq.o \
	dns_mx.o dns_mxip.o dns_name.o dns_nd.o dns_packet.o \
	dns_random.o dns_rcip.o dns_rcrw.o dns_resolve.o \
	dns_sortip.o dns_transmit.o env.o error.o \
	error_str.o fd_copy.o fd_move.o fmt_ulong.o \
	fmt_ulonglong.o forkexecreadwait.o getln2.o \
	getln.o hexparse.o iopause.o ip4_fmt.o ip4_scan.o \
	ipalloc.o ipme.o ndelay_off.o ndelay_on.o \
	open_read.o openreadclose.o pathexec_env.o \
	pathexec_run.o readclose.o remoteinfo.o scan_ulong.o \
	sgetopt.o socket_bind.o socket_conn.o socket_delay.o \
	socket_local.o socket_remote.o socket_tcp.o \
	socket_udp.o stralloc_catb.o stralloc_cat.o \
	stralloc_cats.o stralloc_copy.o stralloc_eady.o \
	stralloc_opyb.o stralloc_opys.o stralloc_pend.o \
	str_chr.o str_diff.o strerr_die.o strerr_sys.o \
	str_len.o str_start.o subgetopt.o taia_add.o \
	taia_approx.o taia_frac.o taia_less.o taia_now.o \
	taia_pack.o taia_sub.o taia_uint.o tai_now.o \
	tai_pack.o timeoutconn.o timeoutread.o timeoutwrite.o \
	uint16_pack.o uint16_unpack.o uint32_unpack.o \
	wait_pid.o 

it:  showdnsmx qmail-remote qmail-rsmtp ipmeprint qmail-tcpclient qmail-curvecpclient qmail-curvecpmessage

load: \
warn-auto.sh conf-ld
	( cat warn-auto.sh; \
	echo 'main="$$1"; shift'; \
	echo exec "`head -1 conf-ld`" \
	'-o "$$main" "$$main".o $${1+"$$@"}' \
	) > load
	chmod 755 load

compile: \
warn-auto.sh conf-cc
	( cat warn-auto.sh; \
	echo exec "`head -1 conf-cc`" '-c $${1+"$$@"}' \
	) > compile
	chmod 755 compile

choose: \
warn-auto.sh choose.sh compile load
	cat warn-auto.sh choose.sh \
	> choose
	chmod 755 choose

makelib: \
warn-auto.sh
	( cat warn-auto.sh; \
	echo 'main="$$1"; shift'; \
	echo 'rm -f "$$main"'; \
	echo 'ar cr "$$main" $${1+"$$@"}'; \
	case "`uname -s | tr '/:[A-Z]' '..[a-z]'`" in \
	sunos-5.*) ;; \
	unix_sv*) ;; \
	irix64-*) ;; \
	irix-*) ;; \
	dgux-*) ;; \
	hp-ux-*) ;; \
	sco*) ;; \
	*) echo 'ranlib "$$main"' ;; \
	esac \
	) > makelib
	chmod 755 makelib


socket.lib: \
trylib.c compile load
	( ( ./compile trylib.c && \
	./load trylib -lsocket -lnsl ) >/dev/null 2>&1 \
	&& echo -lsocket -lnsl || exit 0 ) > socket.lib
	rm -f trylib.o trylib

uint16.h: \
choose tryuint.h uint16.h-short uint16.h-attr
	./choose uint16.h uint16.h-short uint16.h-attr

uint32.h: \
choose tryuint.h uint32.h-int uint32.h-long uint32.h-attr
	./choose uint32.h uint32.h-int uint32.h-long uint32.h-attr

uint64.h: \
choose tryuint.h uint64.h-longlong uint64.h-long uint64.h-attr
	./choose uint64.h uint64.h-longlong uint64.h-long uint64.h-attr

iopause.h: \
choose iopause.h-poll iopause.h-select
	./choose iopause.h iopause.h-poll iopause.h-select

hassalen.h: \
choose hassalen.h-yes default.h-no
	./choose hassalen.h hassalen.h-yes default.h-no

select.h: \
choose select.h-syssel select.h-old
	./choose select.h select.h-syssel select.h-old

clean:
	rm -f load compile makelib choose *.o *.a
	rm -f iopause.h uint16.h uint32.h uint64.h select.h hassalen.h
	rm -f socket.lib auto_qmail.c
	rm -f showdnsmx ipmeprint
	rm -f qmail-remote auto-str qmail-rsmtp ipmeprint qmail-tcpclient qmail-curvecpclient qmail-curvecpmessage

showdnsmx: \
load showdnsmx.o library.a socket.lib
	./load showdnsmx library.a `cat socket.lib`

ipmeprint: \
load ipmeprint.o library.a socket.lib
	./load ipmeprint library.a `cat socket.lib`

auto-str: \
load auto-str.o library.a
	./load auto-str library.a

auto_qmail.c: \
auto-str conf-qmail
	./auto-str auto_qmail `head -1 conf-qmail` > auto_qmail.c

auto_qmail.o: \
compile auto_qmail.c
	./compile auto_qmail.c

qmail-remote: \
load qmail-remote.o auto_qmail.o library.a socket.lib
	./load qmail-remote auto_qmail.o library.a `cat socket.lib`

qmail-rsmtp: \
load qmail-rsmtp.o library.a socket.lib
	./load qmail-rsmtp library.a `cat socket.lib`

qmail-tcpclient: \
load qmail-tcpclient.o library.a socket.lib
	./load qmail-tcpclient library.a `cat socket.lib`

qmail-curvecpclient:
	test -f "nacl-20110221/build/`hostname | sed 's/\..*//' | tr -cd '[a-z][A-Z][0-9]'`/bin/curvecpclient" || ( cd nacl-20110221; ./do )
	cp "nacl-20110221/build/`hostname | sed 's/\..*//' | tr -cd '[a-z][A-Z][0-9]'`/bin/curvecpclient" qmail-curvecpclient

qmail-curvecpmessage:
	test -f "nacl-20110221/build/`hostname | sed 's/\..*//' | tr -cd '[a-z][A-Z][0-9]'`/bin/curvecpmessage" || ( cd nacl-20110221; ./do )
	cp "nacl-20110221/build/`hostname | sed 's/\..*//' | tr -cd '[a-z][A-Z][0-9]'`/bin/curvecpmessage" qmail-curvecpmessage
