# Don't edit Makefile! Use conf-* for configuration.

SHELL=/bin/sh

default: it

install: setup check

auto-str: \
load auto-str.o buffer.a unix.a byte.a
	./load auto-str buffer.a unix.a byte.a

auto-str.o: \
compile auto-str.c outbuf.h num.h
	./compile auto-str.c

auto_home.c: \
auto-str conf-home
	./auto-str auto_home `head -1 conf-home` > auto_home.c

auto_home.o: \
compile auto_home.c
	./compile auto_home.c

buffer.a: \
makelib strerr_sys.o outbuf_init.o inbuf_init.o \
outbuf_put.o outbuf_2.o strerr_die.o \
inbuf_get.o outbuf_1.o inbuf_0.o outbuf_1s.o \
inbuf_read.o outbuf_write.o
	./makelib buffer.a strerr_sys.o outbuf_init.o inbuf_init.o \
	outbuf_put.o outbuf_2.o strerr_die.o inbuf_get.o \
	outbuf_1.o inbuf_0.o outbuf_1s.o inbuf_read.o \
	outbuf_write.o

inbuf_init.o: \
compile inbuf_init.c inbuf.h num.h
	./compile inbuf_init.c

outbuf_init.o: \
compile outbuf_init.c outbuf.h num.h
	./compile outbuf_init.c

inbuf_0.o: \
compile inbuf_0.c inbuf.h outbuf.h num.h
	./compile inbuf_0.c

outbuf_1.o: \
compile outbuf_1.c outbuf.h num.h
	./compile outbuf_1.c

outbuf_1s.o: \
compile outbuf_1s.c outbuf.h num.h
	./compile outbuf_1s.c

outbuf_2.o: \
compile outbuf_2.c outbuf.h num.h
	./compile outbuf_2.c

inbuf_get.o: \
compile inbuf_get.c byte.h inbuf.h num.h
	./compile inbuf_get.c

outbuf_put.o: \
compile outbuf_put.c outbuf.h byte.h num.h
	./compile outbuf_put.c

inbuf_read.o: \
compile inbuf_read.c inbuf.h num.h
	./compile inbuf_read.c

outbuf_write.o: \
compile outbuf_write.c outbuf.h num.h
	./compile outbuf_write.c

byte.a: \
makelib byte_copy.o byte_cr.o num_tostring.o \
byte_diff.o num_to4bytes.o num_from4bytes.o num_fromstring.o \
num_to8bytes.o num_from8bytes.o
	./makelib byte.a byte_copy.o byte_cr.o \
	num_tostring.o byte_diff.o num_to4bytes.o \
	num_from4bytes.o num_fromstring.o \
	num_to8bytes.o num_from8bytes.o

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

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

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

cdb.a: \
makelib cdb.o cdb_hash.o cdb_make.o
	./makelib cdb.a cdb.o cdb_hash.o cdb_make.o

cdb64.a: \
makelib cdb64.o cdb64_hash.o cdb64_make.o
	./makelib cdb64.a cdb64.o cdb64_hash.o cdb64_make.o

cdb.o: \
compile cdb.c seek.h byte.h cdb.h inbuf.h num.h
	./compile cdb.c

cdb64.o: \
compile cdb.c cdb64.c seek.h byte.h cdb.h inbuf.h num.h
	./compile cdb64.c

cdb_hash.o: \
compile cdb_hash.c cdb.h num.h
	./compile cdb_hash.c

cdb64_hash.o: \
compile cdb_hash.c cdb64_hash.c cdb.h num.h
	./compile cdb64_hash.c

cdb_make.o: \
compile cdb_make.c seek.h cdb.h \
cdb_make.h outbuf.h num.h
	./compile cdb_make.c

cdb64_make.o: \
compile cdb_make.c cdb64_make.c seek.h cdb.h \
cdb_make.h outbuf.h num.h
	./compile cdb64_make.c

cdbdump: \
load cdbdump.o buffer.a unix.a byte.a
	./load cdbdump buffer.a unix.a byte.a

cdb64dump: \
load cdb64dump.o buffer.a unix.a byte.a
	./load cdb64dump buffer.a unix.a byte.a

cdbdump.o: \
compile cdbdump.c outbuf.h strerr.h inbuf.h num.h
	./compile cdbdump.c

cdb64dump.o: \
compile cdbdump.c cdb64dump.c outbuf.h strerr.h inbuf.h num.h
	./compile cdb64dump.c

cdbget: \
load cdbget.o cdb.a buffer.a unix.a byte.a
	./load cdbget cdb.a buffer.a unix.a byte.a

cdb64get: \
load cdb64get.o cdb64.a buffer.a unix.a byte.a
	./load cdb64get cdb64.a buffer.a unix.a byte.a

cdbget.o: \
compile cdbget.c outbuf.h strerr.h cdb.h num.h
	./compile cdbget.c

cdb64get.o: \
compile cdbget.c cdb64get.c outbuf.h strerr.h cdb.h num.h
	./compile cdb64get.c

cdbmake: \
load cdbmake.o cdb.a buffer.a unix.a byte.a
	./load cdbmake cdb.a buffer.a unix.a byte.a

cdb64make: \
load cdb64make.o cdb64.a buffer.a unix.a byte.a
	./load cdb64make cdb64.a buffer.a unix.a byte.a

cdbmake-12: \
warn-auto.sh cdbmake-12.sh conf-home
	cat warn-auto.sh cdbmake-12.sh \
	| sed s}HOME}"`head -1 conf-home`"}g \
	> cdbmake-12
	chmod 755 cdbmake-12

cdb64make-12: \
warn-auto.sh cdbmake-12.sh conf-home
	cat warn-auto.sh cdbmake-12.sh \
	| sed s}HOME}"`head -1 conf-home`"}g \
	| sed s}cdbmake}cdb64make}g \
	> cdb64make-12
	chmod 755 cdb64make-12

cdbmake-sv: \
warn-auto.sh cdbmake-sv.sh conf-home
	cat warn-auto.sh cdbmake-sv.sh \
	| sed s}HOME}"`head -1 conf-home`"}g \
	> cdbmake-sv
	chmod 755 cdbmake-sv

cdb64make-sv: \
warn-auto.sh cdbmake-sv.sh conf-home
	cat warn-auto.sh cdbmake-sv.sh \
	| sed s}HOME}"`head -1 conf-home`"}g \
	| sed s}cdbmake}cdb64make}g \
	> cdb64make-sv
	chmod 755 cdb64make-sv

cdbmake.o: \
compile cdbmake.c open.h strerr.h cdb_make.h outbuf.h \
cdb.h inbuf.h num.h
	./compile cdbmake.c

cdb64make.o: \
compile cdbmake.c cdb64make.c open.h strerr.h cdb_make.h outbuf.h \
cdb.h inbuf.h num.h
	./compile cdb64make.c

cdbstats: \
load cdbstats.o cdb.a buffer.a unix.a byte.a
	./load cdbstats cdb.a buffer.a unix.a byte.a

cdb64stats: \
load cdb64stats.o cdb64.a buffer.a unix.a byte.a
	./load cdb64stats cdb64.a buffer.a unix.a byte.a

cdbstats.o: \
compile cdbstats.c outbuf.h strerr.h seek.h cdb.h inbuf.h num.h
	./compile cdbstats.c

cdb64stats.o: \
compile cdbstats.c cdb64stats.c outbuf.h strerr.h seek.h cdb.h inbuf.h num.h
	./compile cdb64stats.c

cdbtest: \
load cdbtest.o cdb.a buffer.a unix.a byte.a
	./load cdbtest cdb.a buffer.a unix.a byte.a

cdb64test: \
load cdb64test.o cdb64.a buffer.a unix.a byte.a
	./load cdb64test cdb64.a buffer.a unix.a byte.a

cdbtest.o: \
compile cdbtest.c outbuf.h strerr.h seek.h cdb.h inbuf.h num.h
	./compile cdbtest.c

cdb64test.o: \
compile cdbtest.c cdb64test.c outbuf.h strerr.h seek.h cdb.h inbuf.h num.h
	./compile cdb64test.c

check: setup \
it instcheck
	./instcheck

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

num_tostring.o: \
compile num_tostring.c num.h
	./compile num_tostring.c

hier.o: \
compile hier.c auto_home.h hier.h num.h
	./compile hier.c

instcopy: \
load instcopy.o hier.o auto_home.o buffer.a unix.a byte.a
	./load instcopy hier.o auto_home.o buffer.a unix.a byte.a

instcopy.o: \
compile instcopy.c outbuf.h strerr.h open.h hier.h inbuf.h num.h
	./compile instcopy.c

instcheck: \
load instcheck.o hier.o auto_home.o buffer.a unix.a byte.a
	./load instcheck hier.o auto_home.o buffer.a unix.a byte.a

instcheck.o: \
compile instcheck.c strerr.h hier.h num.h
	./compile instcheck.c

it: \
prog instcopy instcheck

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

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

open_trunc.o: \
compile open_trunc.c open.h num.h
	./compile open_trunc.c

prog: \
cdbget cdbmake cdbdump cdbstats cdbtest cdbmake-12 cdbmake-sv testzero \
cdb64get cdb64make cdb64dump cdb64stats cdb64test cdb64make-12 cdb64make-sv test64zero \
rts

rts: \
warn-auto.sh rts.sh conf-home
	cat warn-auto.sh rts.sh \
	| sed s}HOME}"`head -1 conf-home`"}g \
	> rts
	chmod 755 rts

num_fromstring.o: \
compile num_fromstring.c num.h
	./compile num_fromstring.c

seek_cur.o: \
compile seek_cur.c seek.h num.h
	./compile seek_cur.c

seek_set.o: \
compile seek_set.c seek.h num.h
	./compile seek_set.c

setup: \
it instcopy
	./instcopy

strerr_die.o: \
compile strerr_die.c outbuf.h strerr.h num.h
	./compile strerr_die.c

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

testzero: \
load testzero.o cdb.a buffer.a unix.a byte.a
	./load testzero cdb.a buffer.a unix.a byte.a

test64zero: \
load test64zero.o cdb64.a buffer.a unix.a byte.a
	./load test64zero cdb64.a buffer.a unix.a byte.a

testzero.o: \
compile testzero.c strerr.h cdb_make.h outbuf.h num.h
	./compile testzero.c

test64zero.o: \
compile testzero.c test64zero.c strerr.h cdb_make.h outbuf.h num.h
	./compile test64zero.c

num_to4bytes.o: \
compile num_to4bytes.c num.h
	./compile num_to4bytes.c

num_from4bytes.o: \
compile num_from4bytes.c num.h
	./compile num_from4bytes.c

num_to8bytes.o: \
compile num_to8bytes.c num.h
	./compile num_to8bytes.c

num_from8bytes.o: \
compile num_from8bytes.c num.h
	./compile num_from8bytes.c

unix.a: \
makelib open_read.o open_trunc.o seek_set.o \
seek_cur.o
	./makelib unix.a open_read.o open_trunc.o \
	seek_set.o seek_cur.o
