#  
export

export TOP=$(shell pwd)
export PATH:=$(TOP)/scripts:$(HOME)/apps-zx/bin:$(PATH)

# ,  
MKINCS=include

# 
MKCRT0=crt0

#  ,   
MKLIBS=libconio

#  
MKAPPS=fusix-boot fusix-boot-sd

SUBRIRS=$(MKINCS) $(MKCRT0) $(MKLIBS) $(MKAPPS)

#  
CLOC=0xC000
DLOC=0x0000
SSIZE=0x2000

#  
CC=sdcc -mz80
# -D_naked=__naked -D_asm=__asm -D_endasm=__endasm
CCLIB=sdcclib
# AS=as-z80
AS=sdasz80

DZ80=dz80
HEX2BIN=hex2bin -s $(CLOC)
BIN2HOB=bin2hob

#
INCDIRS:=$(addprefix -I$(TOP)/, $(MKINCS) $(MKLIBS) )
LIBDIRS:=$(addprefix -L$(TOP)/, $(MKLIBS) )

CRT0:=$(TOP)/$(MKCRT0)/crt0.rel

#    3    .
#   -  
CODELOC=$(shell printf "0x%X" $$(( $(CLOC) + 3 )) )

LDOPTS=--no-std-crt0 --code-loc $(CODELOC) --data-loc $(DLOC)
COPTS=--opt-code-speed -I./ --i-code-in-asm
#
COPTS+=$(INCDIRS)
LDOPTS+= $(LIBDIRS)

#  
all: clean libs tap
	$(CC) --print-search-dirs | sed -n '/includedir:/,/libdir:/p' | sed s/includedir:// | sed s/libdir:// > $(TOP)/.kdev_include_paths
	for i in $(INCDIRS) ; do \
	echo "$$i" | sed s/-I// >> $(TOP)/.kdev_include_paths ; \
	done

# echo "".kdev_include_paths

#  
libs:
	@for i in $(SUBRIRS); do \
	echo "Make library: "$$i ;  \
	make -C $$i ; \
	done

libs_clean:
	@for i in $(SUBRIRS); do \
	echo "clean library: "$$i ;  \
	make -C $$i clean; \
	done

tap:
	@for i in $(MKAPPS); do \
	echo "Create TAPs: "$$i ;  \
	make -C $$i tap; \
	done

clean: libs_clean
