# Don't edit Makefile!  Use conf-* for configuration.
#
# Generated by spac see http://untroubled.org/spac/

SHELL=/bin/sh

DEFAULT: all

all: programs installer instcheck instshow

authenticated.o: compile authenticated.c relay-ctrl.h net/socket.h net/ipv4.h
	./compile authenticated.c

chdir.o: compile chdir.c relay-ctrl.h net/socket.h net/ipv4.h misc/misc.h msg/msg.h
	./compile chdir.c

choose: warn-auto.sh choose.sh
	cat warn-auto.sh choose.sh >choose
	chmod 755 choose

clean: TARGETS
	rm -f `cat TARGETS`

clean-spac: clean AUTOFILES
	rm -f `cat AUTOFILES`

compile: conf-cc
	( echo '#!/bin/sh'; \
	  echo 'source=$$1; shift'; \
	  echo 'base=`echo "$$source" | sed -e s:\\\\.c$$::`'; \
	  echo exec `head -1 conf-cc` '-I. -o $${base}.o -c $$source $${1+"$$@"}'; \
	) >compile
	chmod 755 compile

conf_bin.c: conf-bin
	head -1 conf-bin | \
	  sed -e 's/"/\\"/g' \
	      -e 's/^/const char conf_bin[] = "/' \
	      -e 's/$$/";/' >conf_bin.c

conf_man.c: conf-man
	head -1 conf-man | \
	  sed -e 's/"/\\"/g' \
	      -e 's/^/const char conf_man[] = "/' \
	      -e 's/$$/";/' >conf_man.c

direntry.h: compile direntry.h1 direntry.h2 trydirent.c
	( ./compile trydirent.c >/dev/null 2>&1 \
	  && cat direntry.h2 || cat direntry.h1 ) > direntry.h
	rm -f trydirent.o

fork.h: compile load fork.h1 fork.h2 tryvfork.c
	( ( ./compile tryvfork.c && ./load tryvfork ) >/dev/null 2>&1 \
	  && cat fork.h2 || cat fork.h1 ) > fork.h
	rm -f tryvfork.o tryvfork

installer: load installer.o insthier.o
	./load installer insthier.o

installer.o: compile installer.c installer.h
	./compile installer.c

instcheck: load instcheck.o insthier.o
	./load instcheck insthier.o

instcheck.o: compile instcheck.c installer.h
	./compile instcheck.c

insthier.o: compile insthier.c conf_bin.c conf_man.c installer.h
	./compile insthier.c

instshow: load instshow.o insthier.o
	./load instshow insthier.o

instshow.o: compile instshow.c installer.h
	./compile instshow.c

iobuf/ibuf_getc.o: compile iobuf/ibuf_getc.c iobuf/iobuf.h
	./compile iobuf/ibuf_getc.c

iobuf/ibuf_gets.o: compile iobuf/ibuf_gets.c iobuf/iobuf.h
	./compile iobuf/ibuf_gets.c

iobuf/ibuf_getu.o: compile iobuf/ibuf_getu.c iobuf/iobuf.h
	./compile iobuf/ibuf_getu.c

iobuf/ibuf_init.o: compile iobuf/ibuf_init.c iobuf/iobuf.h
	./compile iobuf/ibuf_init.c

iobuf/ibuf_open.o: compile iobuf/ibuf_open.c iobuf/iobuf.h
	./compile iobuf/ibuf_open.c

iobuf/ibuf_peek.o: compile iobuf/ibuf_peek.c iobuf/iobuf.h
	./compile iobuf/ibuf_peek.c

iobuf/ibuf_read.o: compile iobuf/ibuf_read.c iobuf/iobuf.h
	./compile iobuf/ibuf_read.c

iobuf/ibuf_refill.o: compile iobuf/ibuf_refill.c iobuf/iobuf.h
	./compile iobuf/ibuf_refill.c

iobuf/ibuf_seek.o: compile iobuf/ibuf_seek.c iobuf/iobuf.h
	./compile iobuf/ibuf_seek.c

iobuf/ibuf_status.o: compile iobuf/ibuf_status.c iobuf/iobuf.h
	./compile iobuf/ibuf_status.c

iobuf/ibuf_stdin.o: compile iobuf/ibuf_stdin.c iobuf/iobuf.h
	./compile iobuf/ibuf_stdin.c

iobuf/ibuf_tell.o: compile iobuf/ibuf_tell.c iobuf/iobuf.h
	./compile iobuf/ibuf_tell.c

iobuf/iobuf.a: makelib iobuf/iobuf_close.o iobuf/iobuf_copy.o iobuf/iobuf_init.o iobuf/iobuf_timeout.o iobuf/ibuf_getc.o iobuf/ibuf_gets.o iobuf/ibuf_getu.o iobuf/ibuf_init.o iobuf/ibuf_open.o iobuf/ibuf_peek.o iobuf/ibuf_read.o iobuf/ibuf_refill.o iobuf/ibuf_seek.o iobuf/ibuf_status.o iobuf/ibuf_stdin.o iobuf/ibuf_tell.o iobuf/obuf_close.o iobuf/obuf_endl.o iobuf/obuf_flush.o iobuf/obuf_init.o iobuf/obuf_open.o iobuf/obuf_pad.o iobuf/obuf_put2s.o iobuf/obuf_put3s.o iobuf/obuf_put4s.o iobuf/obuf_put5s.o iobuf/obuf_put6s.o iobuf/obuf_put7s.o iobuf/obuf_putc.o iobuf/obuf_putiw.o iobuf/obuf_putnetstring.o iobuf/obuf_putsflush.o iobuf/obuf_putuw.o iobuf/obuf_seek.o iobuf/obuf_stderr.o iobuf/obuf_stdout.o iobuf/obuf_sync.o iobuf/obuf_write.o
	./makelib iobuf/iobuf.a iobuf/iobuf_close.o iobuf/iobuf_copy.o iobuf/iobuf_init.o iobuf/iobuf_timeout.o iobuf/ibuf_getc.o iobuf/ibuf_gets.o iobuf/ibuf_getu.o iobuf/ibuf_init.o iobuf/ibuf_open.o iobuf/ibuf_peek.o iobuf/ibuf_read.o iobuf/ibuf_refill.o iobuf/ibuf_seek.o iobuf/ibuf_status.o iobuf/ibuf_stdin.o iobuf/ibuf_tell.o iobuf/obuf_close.o iobuf/obuf_endl.o iobuf/obuf_flush.o iobuf/obuf_init.o iobuf/obuf_open.o iobuf/obuf_pad.o iobuf/obuf_put2s.o iobuf/obuf_put3s.o iobuf/obuf_put4s.o iobuf/obuf_put5s.o iobuf/obuf_put6s.o iobuf/obuf_put7s.o iobuf/obuf_putc.o iobuf/obuf_putiw.o iobuf/obuf_putnetstring.o iobuf/obuf_putsflush.o iobuf/obuf_putuw.o iobuf/obuf_seek.o iobuf/obuf_stderr.o iobuf/obuf_stdout.o iobuf/obuf_sync.o iobuf/obuf_write.o

iobuf/iobuf_close.o: compile iobuf/iobuf_close.c iobuf/iobuf.h
	./compile iobuf/iobuf_close.c

iobuf/iobuf_copy.o: compile iobuf/iobuf_copy.c iobuf/iobuf.h
	./compile iobuf/iobuf_copy.c

iobuf/iobuf_init.o: compile iobuf/iobuf_init.c iobuf/iobuf.h
	./compile iobuf/iobuf_init.c

iobuf/iobuf_timeout.o: compile iobuf/iobuf_timeout.c iobuf/iobuf.h iopoll.h
	./compile iobuf/iobuf_timeout.c

iobuf/obuf_close.o: compile iobuf/obuf_close.c iobuf/iobuf.h
	./compile iobuf/obuf_close.c

iobuf/obuf_endl.o: compile iobuf/obuf_endl.c iobuf/iobuf.h
	./compile iobuf/obuf_endl.c

iobuf/obuf_flush.o: compile iobuf/obuf_flush.c iobuf/iobuf.h
	./compile iobuf/obuf_flush.c

iobuf/obuf_init.o: compile iobuf/obuf_init.c iobuf/iobuf.h
	./compile iobuf/obuf_init.c

iobuf/obuf_open.o: compile iobuf/obuf_open.c iobuf/iobuf.h
	./compile iobuf/obuf_open.c

iobuf/obuf_pad.o: compile iobuf/obuf_pad.c iobuf/iobuf.h
	./compile iobuf/obuf_pad.c

iobuf/obuf_put2s.o: compile iobuf/obuf_put2s.c iobuf/iobuf.h
	./compile iobuf/obuf_put2s.c

iobuf/obuf_put3s.o: compile iobuf/obuf_put3s.c iobuf/iobuf.h
	./compile iobuf/obuf_put3s.c

iobuf/obuf_put4s.o: compile iobuf/obuf_put4s.c iobuf/iobuf.h
	./compile iobuf/obuf_put4s.c

iobuf/obuf_put5s.o: compile iobuf/obuf_put5s.c iobuf/iobuf.h
	./compile iobuf/obuf_put5s.c

iobuf/obuf_put6s.o: compile iobuf/obuf_put6s.c iobuf/iobuf.h
	./compile iobuf/obuf_put6s.c

iobuf/obuf_put7s.o: compile iobuf/obuf_put7s.c iobuf/iobuf.h
	./compile iobuf/obuf_put7s.c

iobuf/obuf_putc.o: compile iobuf/obuf_putc.c iobuf/iobuf.h
	./compile iobuf/obuf_putc.c

iobuf/obuf_putiw.o: compile iobuf/obuf_putiw.c iobuf/iobuf.h
	./compile iobuf/obuf_putiw.c

iobuf/obuf_putnetstring.o: compile iobuf/obuf_putnetstring.c iobuf/iobuf.h
	./compile iobuf/obuf_putnetstring.c

iobuf/obuf_putsflush.o: compile iobuf/obuf_putsflush.c iobuf/iobuf.h
	./compile iobuf/obuf_putsflush.c

iobuf/obuf_putuw.o: compile iobuf/obuf_putuw.c iobuf/iobuf.h
	./compile iobuf/obuf_putuw.c

iobuf/obuf_seek.o: compile iobuf/obuf_seek.c iobuf/iobuf.h
	./compile iobuf/obuf_seek.c

iobuf/obuf_stderr.o: compile iobuf/obuf_stderr.c iobuf/iobuf.h
	./compile iobuf/obuf_stderr.c

iobuf/obuf_stdout.o: compile iobuf/obuf_stdout.c iobuf/iobuf.h
	./compile iobuf/obuf_stdout.c

iobuf/obuf_sync.o: compile iobuf/obuf_sync.c iobuf/iobuf.h
	./compile iobuf/obuf_sync.c

iobuf/obuf_write.o: compile iobuf/obuf_write.c iobuf/iobuf.h
	./compile iobuf/obuf_write.c

iopoll.h: choose compile load trypoll.c iopoll.h1 iopoll.h2 iopoll.c
	./choose clr trypoll iopoll.h1 iopoll.h2 > iopoll.h

iopoll.o: compile iopoll.c iopoll.h select.h
	./compile iopoll.c

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

makelib: 
	( echo '#!/bin/sh'; \
	  echo 'main="$$1"; shift';\
	  echo 'rm -f "$$main"';\
	  echo 'ar cr "$$main" $${1+"$$@"}';\
	  echo 'ranlib "$$main"';\
	) >makelib
	chmod 755 makelib

misc/misc.a: makelib misc/strtou.o misc/utoa.o misc/utoa2.o
	./makelib misc/misc.a misc/strtou.o misc/utoa.o misc/utoa2.o

misc/strtou.o: compile misc/strtou.c misc/misc.h
	./compile misc/strtou.c

misc/utoa.o: compile misc/utoa.c misc/misc.h
	./compile misc/utoa.c

misc/utoa2.o: compile misc/utoa2.c misc/misc.h
	./compile misc/utoa2.c

msg/common.o: compile msg/common.c iobuf/iobuf.h msg/msg.h
	./compile msg/common.c

msg/debug.o: compile msg/debug.c msg/msg.h
	./compile msg/debug.c

msg/die.o: compile msg/die.c msg/msg.h
	./compile msg/die.c

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

msg/msg.a: makelib msg/common.o msg/debug.o msg/die.o msg/error.o msg/warn.o
	./makelib msg/msg.a msg/common.o msg/debug.o msg/die.o msg/error.o msg/warn.o

msg/warn.o: compile msg/warn.c iobuf/iobuf.h msg/msg.h
	./compile msg/warn.c

net/accept4.o: compile net/accept4.c net/socket.h net/ipv4.h
	./compile net/accept4.c

net/acceptu.o: compile net/acceptu.c net/socket.h net/ipv4.h
	./compile net/acceptu.c

net/bind4.o: compile net/bind4.c net/socket.h net/ipv4.h
	./compile net/bind4.c

net/bindu.o: compile net/bindu.c net/socket.h net/ipv4.h
	./compile net/bindu.c

net/broadcast.o: compile net/broadcast.c net/socket.h net/ipv4.h
	./compile net/broadcast.c

net/connect4.o: compile net/connect4.c net/socket.h net/ipv4.h
	./compile net/connect4.c

net/connected.o: compile net/connected.c net/socket.h net/ipv4.h
	./compile net/connected.c

net/connectu.o: compile net/connectu.c net/socket.h net/ipv4.h
	./compile net/connectu.c

net/cork.o: compile net/cork.c net/socket.h net/ipv4.h
	./compile net/cork.c

net/getaddr4.o: compile net/getaddr4.c net/socket.h net/ipv4.h
	./compile net/getaddr4.c

net/ipv4.a: makelib net/ipv4_addr.o net/ipv4_format.o net/ipv4_parse.o
	./makelib net/ipv4.a net/ipv4_addr.o net/ipv4_format.o net/ipv4_parse.o

net/ipv4_addr.o: compile net/ipv4_addr.c net/ipv4.h
	./compile net/ipv4_addr.c

net/ipv4_format.o: compile net/ipv4_format.c net/ipv4.h
	./compile net/ipv4_format.c

net/ipv4_parse.o: compile net/ipv4_parse.c net/ipv4.h
	./compile net/ipv4_parse.c

net/linger.o: compile net/linger.c net/socket.h net/ipv4.h
	./compile net/linger.c

net/listen.o: compile net/listen.c net/socket.h net/ipv4.h
	./compile net/listen.c

net/pair.o: compile net/pair.c net/socket.h net/ipv4.h
	./compile net/pair.c

net/recv4.o: compile net/recv4.c net/socket.h net/ipv4.h
	./compile net/recv4.c

net/recvu.o: compile net/recvu.c net/socket.h net/ipv4.h
	./compile net/recvu.c

net/reuse.o: compile net/reuse.c net/socket.h net/ipv4.h
	./compile net/reuse.c

net/send4.o: compile net/send4.c net/socket.h net/ipv4.h
	./compile net/send4.c

net/sendu.o: compile net/sendu.c net/socket.h net/ipv4.h
	./compile net/sendu.c

net/shutdown.o: compile net/shutdown.c net/socket.h net/ipv4.h
	./compile net/shutdown.c

net/socket.a: makelib net/accept4.o net/acceptu.o net/bind4.o net/bindu.o net/broadcast.o net/connect4.o net/connected.o net/connectu.o net/cork.o net/getaddr4.o net/linger.o net/listen.o net/pair.o net/recv4.o net/recvu.o net/reuse.o net/send4.o net/sendu.o net/shutdown.o net/tcp.o net/udp.o net/uncork.o net/unixdgm.o net/unixstr.o
	./makelib net/socket.a net/accept4.o net/acceptu.o net/bind4.o net/bindu.o net/broadcast.o net/connect4.o net/connected.o net/connectu.o net/cork.o net/getaddr4.o net/linger.o net/listen.o net/pair.o net/recv4.o net/recvu.o net/reuse.o net/send4.o net/sendu.o net/shutdown.o net/tcp.o net/udp.o net/uncork.o net/unixdgm.o net/unixstr.o

net/tcp.o: compile net/tcp.c net/socket.h net/ipv4.h
	./compile net/tcp.c

net/udp.o: compile net/udp.c net/socket.h net/ipv4.h
	./compile net/udp.c

net/uncork.o: compile net/uncork.c net/socket.h net/ipv4.h
	./compile net/uncork.c

net/unixdgm.o: compile net/unixdgm.c net/socket.h net/ipv4.h
	./compile net/unixdgm.c

net/unixstr.o: compile net/unixstr.c net/socket.h net/ipv4.h
	./compile net/unixstr.c

programs: relay-ctrl-allow relay-ctrl-check relay-ctrl-age relay-ctrl-udp relay-ctrl-send relay-ctrl-chdir

relay-ctrl-age: load relay-ctrl-age.o msg/msg.a iobuf/iobuf.a iopoll.o
	./load relay-ctrl-age msg/msg.a iobuf/iobuf.a iopoll.o 

relay-ctrl-age.o: compile relay-ctrl-age.c direntry.h systime.h msg/msg.h
	./compile relay-ctrl-age.c

relay-ctrl-allow: load relay-ctrl-allow.o relay-ctrl.a misc/misc.a msg/msg.a iobuf/iobuf.a iopoll.o
	./load relay-ctrl-allow relay-ctrl.a misc/misc.a msg/msg.a iobuf/iobuf.a iopoll.o 

relay-ctrl-allow.o: compile relay-ctrl-allow.c systime.h misc/misc.h msg/msg.h relay-ctrl.h net/socket.h net/ipv4.h
	./compile relay-ctrl-allow.c

relay-ctrl-chdir: load relay-ctrl-chdir.o misc/misc.a msg/msg.a iobuf/iobuf.a setenv.o iopoll.o
	./load relay-ctrl-chdir misc/misc.a msg/msg.a iobuf/iobuf.a setenv.o iopoll.o 

relay-ctrl-chdir.o: compile relay-ctrl-chdir.c misc/misc.h msg/msg.h setenv.h
	./compile relay-ctrl-chdir.c

relay-ctrl-check: load relay-ctrl-check.o relay-ctrl.a misc/misc.a msg/msg.a iobuf/iobuf.a iopoll.o setenv.o
	./load relay-ctrl-check relay-ctrl.a misc/misc.a msg/msg.a iobuf/iobuf.a iopoll.o setenv.o 

relay-ctrl-check.o: compile relay-ctrl-check.c msg/msg.h systime.h setenv.h
	./compile relay-ctrl-check.c

relay-ctrl-send: load relay-ctrl-send.o relay-ctrl.a msg/msg.a iobuf/iobuf.a net/ipv4.a net/socket.a iopoll.o
	./load relay-ctrl-send relay-ctrl.a msg/msg.a iobuf/iobuf.a net/ipv4.a net/socket.a iopoll.o 

relay-ctrl-send.o: compile relay-ctrl-send.c net/ipv4.h net/socket.h net/ipv4.h msg/msg.h relay-ctrl.h net/socket.h net/ipv4.h fork.h iopoll.h
	./compile relay-ctrl-send.c

relay-ctrl-udp: load relay-ctrl-udp.o relay-ctrl.a misc/misc.a msg/msg.a iobuf/iobuf.a net/ipv4.a net/socket.a iopoll.o
	./load relay-ctrl-udp relay-ctrl.a misc/misc.a msg/msg.a iobuf/iobuf.a net/ipv4.a net/socket.a iopoll.o 

relay-ctrl-udp.o: compile relay-ctrl-udp.c msg/msg.h net/ipv4.h net/socket.h net/ipv4.h relay-ctrl.h net/socket.h net/ipv4.h
	./compile relay-ctrl-udp.c

relay-ctrl.a: makelib authenticated.o chdir.o touch.o validate_ip.o
	./makelib relay-ctrl.a authenticated.o chdir.o touch.o validate_ip.o

select.h: choose compile trysysel.c select.h1 select.h2
	./choose c trysysel select.h1 select.h2 > select.h

setenv.h: choose compile load setenv.h1 setenv.h2 trysetenv.c
	./choose cl trysetenv setenv.h1 setenv.h2 > setenv.h

setenv.o: compile setenv.c setenv.h
	./compile setenv.c

systime.h: compile trysystime.c trytime.c
	( ( ./compile trysystime.c >/dev/null 2>&1 && \
	    echo '#include <sys/time.h>' ); \
	  ( ./compile trytime.c >/dev/null 2>&1 && \
	    echo '#include <time.h>' ) ) >systime.h
	rm -f trysystime.o trytime.o

touch.o: compile touch.c relay-ctrl.h net/socket.h net/ipv4.h
	./compile touch.c

validate_ip.o: compile validate_ip.c relay-ctrl.h net/socket.h net/ipv4.h
	./compile validate_ip.c



syntax highlighted by Code2HTML, v. 0.9.1