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

SHELL=/bin/sh

default: it

1024+.c: \
systype conf-opt print-opt.sh pentium/1024+.c
	sh print-opt.sh 1024+.c > 1024+.c

1024+.o: \
compile 1024+.c xy+.c zpfft.h bitrev.h
	./compile 1024+.c

1024-.c: \
systype conf-opt print-opt.sh pentium/1024-.c
	sh print-opt.sh 1024-.c > 1024-.c

1024-.o: \
compile 1024-.c xy-.c zpfft.h bitrev.h
	./compile 1024-.c

1048576+.c: \
systype conf-opt print-opt.sh pentium/1048576+.c
	sh print-opt.sh 1048576+.c > 1048576+.c

1048576+.o: \
compile 1048576+.c xy+.c zpfft.h bitrev.h
	./compile 1048576+.c

1048576-.c: \
systype conf-opt print-opt.sh pentium/1048576-.c
	sh print-opt.sh 1048576-.c > 1048576-.c

1048576-.o: \
compile 1048576-.c xy-.c zpfft.h bitrev.h
	./compile 1048576-.c

131072+.c: \
systype conf-opt print-opt.sh pentium/131072+.c
	sh print-opt.sh 131072+.c > 131072+.c

131072+.o: \
compile 131072+.c xy+.c zpfft.h bitrev.h
	./compile 131072+.c

131072-.c: \
systype conf-opt print-opt.sh pentium/131072-.c
	sh print-opt.sh 131072-.c > 131072-.c

131072-.o: \
compile 131072-.c xy-.c zpfft.h bitrev.h
	./compile 131072-.c

16384+.c: \
systype conf-opt print-opt.sh pentium/16384+.c
	sh print-opt.sh 16384+.c > 16384+.c

16384+.o: \
compile 16384+.c xy+.c zpfft.h bitrev.h
	./compile 16384+.c

16384-.c: \
systype conf-opt print-opt.sh pentium/16384-.c
	sh print-opt.sh 16384-.c > 16384-.c

16384-.o: \
compile 16384-.c xy-.c zpfft.h bitrev.h
	./compile 16384-.c

2048+.c: \
systype conf-opt print-opt.sh pentium/2048+.c
	sh print-opt.sh 2048+.c > 2048+.c

2048+.o: \
compile 2048+.c xy+.c zpfft.h bitrev.h
	./compile 2048+.c

2048-.c: \
systype conf-opt print-opt.sh pentium/2048-.c
	sh print-opt.sh 2048-.c > 2048-.c

2048-.o: \
compile 2048-.c xy-.c zpfft.h bitrev.h
	./compile 2048-.c

262144+.c: \
systype conf-opt print-opt.sh pentium/262144+.c
	sh print-opt.sh 262144+.c > 262144+.c

262144+.o: \
compile 262144+.c xy+.c zpfft.h bitrev.h
	./compile 262144+.c

262144-.c: \
systype conf-opt print-opt.sh pentium/262144-.c
	sh print-opt.sh 262144-.c > 262144-.c

262144-.o: \
compile 262144-.c xy-.c zpfft.h bitrev.h
	./compile 262144-.c

32768+.c: \
systype conf-opt print-opt.sh pentium/32768+.c
	sh print-opt.sh 32768+.c > 32768+.c

32768+.o: \
compile 32768+.c xy+.c zpfft.h bitrev.h
	./compile 32768+.c

32768-.c: \
systype conf-opt print-opt.sh pentium/32768-.c
	sh print-opt.sh 32768-.c > 32768-.c

32768-.o: \
compile 32768-.c xy-.c zpfft.h bitrev.h
	./compile 32768-.c

4096+.c: \
systype conf-opt print-opt.sh pentium/4096+.c
	sh print-opt.sh 4096+.c > 4096+.c

4096+.o: \
compile 4096+.c xy+.c zpfft.h bitrev.h
	./compile 4096+.c

4096-.c: \
systype conf-opt print-opt.sh pentium/4096-.c
	sh print-opt.sh 4096-.c > 4096-.c

4096-.o: \
compile 4096-.c xy-.c zpfft.h bitrev.h
	./compile 4096-.c

524288+.c: \
systype conf-opt print-opt.sh pentium/524288+.c
	sh print-opt.sh 524288+.c > 524288+.c

524288+.o: \
compile 524288+.c xy+.c zpfft.h bitrev.h
	./compile 524288+.c

524288-.c: \
systype conf-opt print-opt.sh pentium/524288-.c
	sh print-opt.sh 524288-.c > 524288-.c

524288-.o: \
compile 524288-.c xy-.c zpfft.h bitrev.h
	./compile 524288-.c

65536+.c: \
systype conf-opt print-opt.sh pentium/65536+.c
	sh print-opt.sh 65536+.c > 65536+.c

65536+.o: \
compile 65536+.c xy+.c zpfft.h bitrev.h
	./compile 65536+.c

65536-.c: \
systype conf-opt print-opt.sh pentium/65536-.c
	sh print-opt.sh 65536-.c > 65536-.c

65536-.o: \
compile 65536-.c xy-.c zpfft.h bitrev.h
	./compile 65536-.c

8192+.c: \
systype conf-opt print-opt.sh pentium/8192+.c
	sh print-opt.sh 8192+.c > 8192+.c

8192+.o: \
compile 8192+.c xy+.c zpfft.h bitrev.h
	./compile 8192+.c

8192-.c: \
systype conf-opt print-opt.sh pentium/8192-.c
	sh print-opt.sh 8192-.c > 8192-.c

8192-.o: \
compile 8192-.c xy-.c zpfft.h bitrev.h
	./compile 8192-.c

accuracy: \
load accuracy.o zpfft.a
	./load accuracy zpfft.a 

accuracy.o: \
compile accuracy.c zpfft.h
	./compile accuracy.c

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

auto-str.o: \
compile auto-str.c buffer.h readwrite.h exit.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

bitrev_128.o: \
compile bitrev_128.c bitrev.h
	./compile bitrev_128.c

bitrev_16.o: \
compile bitrev_16.c bitrev.h
	./compile bitrev_16.c

bitrev_256.o: \
compile bitrev_256.c bitrev.h
	./compile bitrev_256.c

bitrev_32.o: \
compile bitrev_32.c bitrev.h
	./compile bitrev_32.c

bitrev_512.o: \
compile bitrev_512.c bitrev.h
	./compile bitrev_512.c

bitrev_64.o: \
compile bitrev_64.c bitrev.h
	./compile bitrev_64.c

bitrev_8.o: \
compile bitrev_8.c bitrev.h
	./compile bitrev_8.c

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

buffer_2.o: \
compile buffer_2.c readwrite.h 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

byte.a: \
makelib byte_copy.o byte_cr.o str_len.o
	./makelib byte.a byte_copy.o byte_cr.o str_len.o

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

check: \
it instcheck
	./instcheck

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

compile: \
warn-auto.sh conf-cc systype print-cc.sh trycpp.c
	sh print-cc.sh > compile
	chmod 755 compile

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

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

hasgethr.h: \
choose compile load trygethr.c hasgethr.h1 hasgethr.h2
	./choose cl trygethr hasgethr.h1 hasgethr.h2 > hasgethr.h

hasrdtsc.h: \
choose compile load tryrdtsc.c hasrdtsc.h1 hasrdtsc.h2
	./choose clr tryrdtsc hasrdtsc.h1 hasrdtsc.h2 > hasrdtsc.h

hasrpcc.h: \
choose compile load tryrpcc.c hasrpcc.h1 hasrpcc.h2
	./choose cl tryrpcc hasrpcc.h1 hasrpcc.h2 > hasrpcc.h

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

init.c: \
systype conf-opt print-opt.sh pentium/init.c
	sh print-opt.sh init.c > init.c

init.o: \
compile init.c zpfft.h
	./compile init.c

install: \
load install.o hier.o auto_home.o unix.a byte.a
	./load install hier.o auto_home.o unix.a byte.a 

install.o: \
compile install.c buffer.h strerr.h error.h open.h readwrite.h exit.h
	./compile install.c

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

instcheck.o: \
compile instcheck.c strerr.h error.h readwrite.h exit.h
	./compile instcheck.c

it: \
prog install 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

makelib: \
warn-auto.sh systype
	( cat warn-auto.sh; \
	echo 'main="$$1"; shift'; \
	echo 'rm -f "$$main"'; \
	echo 'ar cr "$$main" $${1+"$$@"}'; \
	case "`cat systype`" in \
	sunos-5.*) ;; \
	unix_sv*) ;; \
	irix64-*) ;; \
	irix-*) ;; \
	dgux-*) ;; \
	hp-ux-*) ;; \
	sco*) ;; \
	*) echo 'ranlib "$$main"' ;; \
	esac \
	) > 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

product.c: \
systype conf-opt print-opt.sh pentium/product.c
	sh print-opt.sh product.c > product.c

product.o: \
compile product.c zpfft.h
	./compile product.c

prog: \
accuracy speed

setup: \
it install
	./install

small+.c: \
systype conf-opt print-opt.sh pentium/small+.c
	sh print-opt.sh small+.c > small+.c

small+.o: \
compile small+.c zpfft.h
	./compile small+.c

small-.c: \
systype conf-opt print-opt.sh pentium/small-.c
	sh print-opt.sh small-.c > small-.c

small-.o: \
compile small-.c zpfft.h
	./compile small-.c

speed: \
load speed.o zpfft.a
	./load speed zpfft.a 

speed.o: \
compile speed.c zpfft.h timing.h hasrdtsc.h hasgethr.h hasrpcc.h
	./compile speed.c

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

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

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

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

unix.a: \
makelib error.o open_read.o open_trunc.o error_str.o strerr_sys.o \
buffer.o buffer_put.o buffer_2.o strerr_die.o buffer_get.o \
buffer_copy.o
	./makelib unix.a error.o open_read.o open_trunc.o \
	error_str.o strerr_sys.o buffer.o buffer_put.o buffer_2.o \
	strerr_die.o buffer_get.o buffer_copy.o

xy+.c: \
systype conf-opt print-opt.sh pentium/xy+.c
	sh print-opt.sh xy+.c > xy+.c

xy-.c: \
systype conf-opt print-opt.sh pentium/xy-.c
	sh print-opt.sh xy-.c > xy-.c

zpfft.a: \
makelib product.o init.o 1048576-.o 524288-.o 262144-.o 131072-.o \
65536-.o 32768-.o 16384-.o 8192-.o 4096-.o 2048-.o 1024-.o small-.o \
small+.o 1024+.o 2048+.o 4096+.o 8192+.o 16384+.o 32768+.o 65536+.o \
131072+.o 262144+.o 524288+.o 1048576+.o bitrev_8.o bitrev_16.o \
bitrev_32.o bitrev_64.o bitrev_128.o bitrev_256.o bitrev_512.o
	./makelib zpfft.a product.o init.o 1048576-.o 524288-.o \
	262144-.o 131072-.o 65536-.o 32768-.o 16384-.o 8192-.o \
	4096-.o 2048-.o 1024-.o small-.o small+.o 1024+.o 2048+.o \
	4096+.o 8192+.o 16384+.o 32768+.o 65536+.o 131072+.o \
	262144+.o 524288+.o 1048576+.o bitrev_8.o bitrev_16.o \
	bitrev_32.o bitrev_64.o bitrev_128.o bitrev_256.o \
	bitrev_512.o

zpfft.h: \
systype conf-opt print-opt.sh pentium/zpfft.h
	sh print-opt.sh zpfft.h > zpfft.h
