

ar=ar

prefix=$(shell cd ..;pwd)
lib=$(prefix)/lib/
includedir=$(prefix)/include
include=-I $(includedir)
bin=$(prefix)/bin/$(arch)/
obj=$(prefix)/obj/$(arch)/

ifeq ($(arch),sun4)
cc=/usr/local/bin/gcc
ar=/usr/ccs/bin/ar rs
ccobj=$(cc) -c $(include)
ccexc=$(cc)
endif

ifeq ($(arch),linux)
cc=gcc
ccobj=$(cc) -c $(include)
ccexc=$(cc)
ar=ar rv
endif

ifeq ($(arch),c6x)
ar=ar6x rv
include=-i$(includedir) -i/usr/local/dsp/c6x_tools/include
cc=cl6x
# rem. -k -ss to keep interlisted .asm files
# rem -o3 -x2 for optimization
ccobj=cl6x -DARCHC6X -g -eo.o -c -o3 -x2 $(include)
c6xdir=/usr/local/dsp/c6x_tools
ccexc=lnk6x $(lib)/lnk.cmd
cclib=$(c6xdir)/lib/rts6201.lib
endif

ifeq ($(cc), )
	error, unknown arch, use [linux,c6x,sun4]
endif

export cc ar bin obj arch include includedir lib ccobj ccexc cclib c6xdir

ifeq ($(arch),c6x)
dirs=libCOFDM test
else
dirs=libCOFDM test server
endif

all: ../obj ../lib ../bin
	for a in $(dirs); do (cd $$a;make $@ arch=$(arch)) ; done;

testm:
	for a in $(dirs); do (cd $$a;make $@ arch=$(arch)) ; done;

clean:
	for a in $(dirs); do (cd $$a;make $@ arch=$(arch)) ; done;

../obj:
	mkdir ../obj
	mkdir ../obj/$(arch)

../bin:
	mkdir ../bin
	mkdir ../bin/$(arch)

../lib:
	mkdir ../lib