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

SHELL=/bin/sh

default: sysdeps qdated-check qdated-makekey qdated-now

clean:
	rm -f alloc.o alloc_re.o buffer.o buffer_0.o buffer_1.o buffer_2.o \
	buffer_copy.o buffer_get.o buffer_put.o buffer_read.o buffer_write.o \
	byte.a byte_chr.o byte_copy.o byte_cr.o byte_diff.o byte_rchr.o \
	byte_zero.o choose compile cookie.o env.o error.o error_str.o \
	error_temp.o fmt_ulong.o load makelib open_read.o open_trunc.o \
	openreadclose.o qdated-check qdated-check.o qdated-makekey \
	qdated-makekey.o qdated-now qdated-now.o random.o readclose.o \
	scan_ulong.o str_chr.o str_len.o str_start.o stralloc_arts.o \
	stralloc_cat.o stralloc_catb.o stralloc_cats.o stralloc_copy.o \
	stralloc_eady.o stralloc_num.o stralloc_opyb.o stralloc_opys.o \
	stralloc_pend.o strerr.o strerr_die.o strerr_sys.o surf.a surf.o \
	surfpcs.o sysdeps systype uint32.h uint32_unpack.o unix.a

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

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

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

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

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

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

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

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

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

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

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

byte.a: makelib byte_chr.o byte_rchr.o byte_diff.o byte_copy.o byte_cr.o \
byte_zero.o
	./makelib byte.a byte_chr.o byte_rchr.o byte_diff.o byte_copy.o \
	byte_cr.o byte_zero.o

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

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

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

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

byte_rchr.o: compile byte_rchr.c byte.h
	./compile byte_rchr.c

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

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

compile: conf-cc print-cc.sh systype warn-auto.sh
	rm -f compile
	sh print-cc.sh > compile
	chmod 755 compile

cookie.o: compile cookie.c cookie.h str.h uint32.h surfpcs.h uint32.h
	./compile cookie.c

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

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

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

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

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

load: conf-ld print-ld.sh systype warn-auto.sh
	rm -f load
	sh print-ld.sh > load
	chmod 755 load

makelib: print-ar.sh systype warn-auto.sh
	rm -f makelib
	sh print-ar.sh > makelib
	chmod 755 makelib

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

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

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

qdated-check: load qdated-check.o cookie.o unix.a byte.a surf.a
	./load qdated-check cookie.o unix.a byte.a surf.a 

qdated-check.o: compile qdated-check.c fmt.h env.h stralloc.h byte.h \
strerr.h openreadclose.h str.h scan.h cookie.h gen_alloc.h stralloc.h \
gen_alloc.h
	./compile qdated-check.c

qdated-makekey: load qdated-makekey.o random.o unix.a
	./load qdated-makekey random.o unix.a 

qdated-makekey.o: compile qdated-makekey.c buffer.h env.h error.h \
stralloc.h strerr.h random.h gen_alloc.h
	./compile qdated-makekey.c

qdated-now: load qdated-now.o cookie.o unix.a surf.a
	./load qdated-now cookie.o unix.a surf.a 

qdated-now.o: compile qdated-now.c fmt.h env.h stralloc.h buffer.h \
strerr.h openreadclose.h cookie.h gen_alloc.h stralloc.h gen_alloc.h
	./compile qdated-now.c

random.o: compile random.c uint32.h
	./compile random.c

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

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

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

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

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

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

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

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

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

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

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

stralloc_num.o: compile stralloc_num.c stralloc.h gen_alloc.h
	./compile stralloc_num.c

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

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

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

strerr.o: compile strerr.c stralloc.h strerr.h gen_alloc.h
	./compile strerr.c

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

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

surf.a: makelib surf.o surfpcs.o
	./makelib surf.a surf.o surfpcs.o

surf.o: compile surf.c surf.h uint32.h
	./compile surf.c

surfpcs.o: compile surfpcs.c surf.h surfpcs.h uint32.h
	./compile surfpcs.c

sysdeps: systype compile load
	rm -f sysdeps
	cat systype compile load >> sysdeps

systype: find-systype.sh trycpp.c x86cpuid.c
	sh find-systype.sh > systype

uint32.h: choose compile load tryulong32.c uint32.h1 uint32.h2
	./choose clr tryulong32 uint32.h1 uint32.h2 >uint32.h

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

unix.a: makelib alloc.o alloc_re.o buffer.o buffer_get.o buffer_put.o \
buffer_copy.o buffer_read.o buffer_write.o buffer_2.o buffer_1.o \
buffer_0.o env.o error.o error_str.o error_temp.o scan_ulong.o \
fmt_ulong.o open_read.o open_trunc.o openreadclose.o readclose.o \
str_chr.o str_len.o str_start.o byte_copy.o byte_cr.o byte_chr.o \
stralloc_arts.o stralloc_cat.o stralloc_catb.o stralloc_cats.o \
stralloc_copy.o stralloc_eady.o stralloc_num.o stralloc_opyb.o \
stralloc_opys.o stralloc_pend.o strerr.o strerr_sys.o strerr_die.o \
uint32_unpack.o
	./makelib unix.a alloc.o alloc_re.o buffer.o buffer_get.o buffer_put.o \
	buffer_copy.o buffer_read.o buffer_write.o buffer_2.o buffer_1.o \
	buffer_0.o env.o error.o error_str.o error_temp.o scan_ulong.o \
	fmt_ulong.o open_read.o open_trunc.o openreadclose.o readclose.o \
	str_chr.o str_len.o str_start.o byte_copy.o byte_cr.o byte_chr.o \
	stralloc_arts.o stralloc_cat.o stralloc_catb.o stralloc_cats.o \
	stralloc_copy.o stralloc_eady.o stralloc_num.o stralloc_opyb.o \
	stralloc_opys.o stralloc_pend.o strerr.o strerr_sys.o strerr_die.o \
	uint32_unpack.o
