TOOLPATH = ../z_tools/
include $(TOOLPATH)Makefile.inc

#monapi.inc
IMPSFX = -imp
ifeq ($(IMPSFX),-imp)
LFLAGS    = $(MONAELF_LDS) -n --image-base=0xa0000000 -e $(USER_START_FUNCTION)
else
LFLAGS    = $(MONAELF_LDS) -n -Ttext 0xA0000000 -e $(USER_START_FUNCTION) -Bstatic
OFLAGS    = --output-target=elf32-i386
endif
OBJECTS   = $(SOURCES:.cpp=.o) $(CSOURCES:.c=.o) $(NASMSRCS:.asm=.o)
INCLUDE   = -I$(INCDIR)
LINK      = $(ADDLINK) -lmonapi$(IMPSFX)
LINKDEP   = $(LIBDIR)/monapi.o $(LIBDIR)/libmonapi$(IMPSFX).a $(ADDLINKDEP)

#monapi-ex2.inc
.SUFFIXES: .cpp .o
.cpp.o:
	$(CXX) -c -o $@ $(CXXFLAGS) $(INCLUDE) $<

.SUFFIXES: .c .o
.c.o:
	$(CC) -c -o $@ $(CFLAGS) $(INCLUDE) $<

.SUFFIXES: .asm .o
.asm.o:
	$(NASM) $(NFLAGS) -o $@ -felf $<

all: $(TARGET).EX2

$(TARGET).EX2: $(TARGET).EXE
	bzip2 -c $< > $@

$(TARGET).EXE: $(OBJECTS) $(LINKDEP)
	$(LD) $(LFLAGS) -o $@ $(LIBDIR)/monapi.o $(OBJECTS) -L$(LIBDIR) $(LINK)
	$(STRIP) $@

install: all
	mkdir -p $(INSTDIR)
	$(INSTALL) $(TARGET).EX2 $(INSTFILES) $(INSTDIR)

run: all
	cp $(TARGET).EX2 ../z_tools/qemu/TEST.EX2
	make -C $(TOOLPATH)qemu run2

clean:
	rm -f $(OBJECTS) $(TARGET).EXE $(TARGET).EX2 $(CLEANFILES)
	rm -f ../z_tools/qemu/TEST.EX2
	rm -f ../z_tools/qemu/mona.img

depend:
	rm -f dependencies
ifneq ($(SOURCES),)
	$(CXX) -MM $(INCLUDE) $(CXXFLAGS) $(SOURCES) >> dependencies
endif
ifneq ($(CSOURCES),)
	$(CC) -MM $(INCLUDE) $(CFLAGS) $(SOURCES) >> dependencies
endif
ifneq ($(NASMSRCS),)
	for asm in $(NASMSRCS); do echo `echo $$asm | sed "s/\.asm/.o/`": "$$asm >> dependencies; done
endif
