KOS_ARCH_DIR = $(KOS_BASE)/kernel/arch/$(KOS_ARCH)
KOS_START = $(KOS_ARCH_DIR)/kernel/startup.o

INCS = -I$(KOS_INCS) -I$(KOS_ARCH_DIR)/include -I. -I$(KOS_BASE)/libc/include -I$(KOS_BASE)/include/zlib
DEFS = -D_arch_$(KOS_ARCH) -DQUIT_TO_MENU=1 # -DLOAD_DIR='"/pc/tmp"' -DSAVE_DIR='"/pc/tmp"'
LIBS = -L$(KOS_BASE)/lib -lpng -lz -ldcutils -lm -lkallisti -lgcc 
OBJS = brkout.o font.o edit.o title.o romdisk_boot.o
SUBDIRS = 
TARGET = brkout

SCRAMBLE = /home/jim/dc/scramble
BTARGET  = $(TARGET).bin

all: subdirs $(TARGET)

bin: all 1ST_READ.BIN

subdirs: $(SUBDIRS)

$(SUBDIRS):
	$(KOS_MAKE) -C $@

$(TARGET): $(OBJS)
	$(KOS_CC) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) $(OBJS) $(LIBS)

$(BTARGET): $(TARGET)
	$(KOS_OBJCOPY) -O binary $(TARGET) $(BTARGET)

1ST_READ.BIN: $(BTARGET)
	$(SCRAMBLE) $(BTARGET) 1ST_READ.BIN

romdisk_boot.img:
	$(KOS_GENROMFS) -f $@ -d romdisk_boot -v

romdisk_boot.o: romdisk_boot.img
	$(KOS_BASE)/utils/bin2o/bin2o $< romdisk_boot $@

%.o: %.c
	$(KOS_CC) $(KOS_CFLAGS) $(INCS) $(DEFS) -c $< -o $@

%.o: %.s
	$(KOS_AS) $(KOS_AFLAGS) $< -o $@

clean:
	for dir in $(SUBDIRS); do \
		$(KOS_MAKE) -C $$dir clean; \
	done
	-rm -f *.o $(TARGET) $(BTARGET) 1ST_READ.BIN romdisk_boot.img

.PHONY: all bin clean subdirs $(SUBDIRS)
