NAME		= Fix1.5DD
TYPE		= aexo
CRID		= f1.5
PRC			= $(NAME).prc
CODERES		= amdc0000
SRCS		= main.c libpalmos.c util.c win.c ui.c fnt.c pace.S crt.S
RSRCS		= tver0001.bin afnx2710.bin  afnx2711.bin  afnx2712.bin  afnx2713.bin  afnx7D00.bin  afnx7D01.bin  afnx7D02.bin  afnx7D03.bin amdi0000.bin Tbmp2714.bin Tbmp2716.bin Tbmp272E.bin Tbmp2730.bin Tbmp2732.bin Tbmp2734.bin Tbmp273E.bin Tbmp2715.bin Tbmp2717.bin Tbmp272F.bin Tbmp2731.bin Tbmp2733.bin Tbmp2735.bin Tbmp2742.bin abmp2717.bin abmp271D.bin abmp2725.bin abmp2729.bin abmp2731.bin abmp2735.bin abmp2AF9.bin abmp2D78.bin abmp2D7C.bin abmp332D.bin abmp34C6.bin abmp2714.bin abmp271A.bin abmp271E.bin abmp2726.bin abmp272E.bin abmp2732.bin abmp273E.bin abmp2D65.bin abmp2D79.bin abmp2D7D.bin abmp335F.bin abmp34D0.bin abmp2715.bin abmp271B.bin abmp271F.bin abmp2727.bin abmp272F.bin abmp2733.bin abmp2742.bin abmp2D66.bin abmp2D7A.bin abmp2D7E.bin abmp3426.bin abmp2716.bin abmp271C.bin abmp2724.bin abmp2728.bin abmp2730.bin abmp2734.bin abmp2AF8.bin abmp2D67.bin abmp2D7B.bin abmp332C.bin abmp3427.bin


CC			= arm-none-eabi-gcc
LD			= arm-none-eabi-gcc
OBJCOPY		= arm-none-eabi-objcopy
LKR			= arm_lib.lkr
LTO			= #-flto
COMMFLAGS	= -Os -g -ggdb3 -ffunction-sections -fdata-sections -ffixed-r9 -fpic -Wno-multichar -Wall $(LTO)
CCFLAGS		= $(COMMFLAGS) -I. -DUSE_TRAPS=0
LDFLAGS		= $(COMMFLAGS) -Wl,--gc-sections -Wl,-T $(LKR)
BUILD		= v6m




ifeq ($(BUILD),v6m)
	
	COMMFLAGS		+= -march=armv6-m -mcpu=cortex-m0 -DBUILD_FOR_V6M -DBUILD_FOR_THUMB_1
	CRTGENARCH		= v6m
	
else ifeq ($(BUILD),v7m)

	COMMFLAGS		+= -march=armv7-m -mcpu=cortex-m3
	CRTGENARCH		= v7m

else ifeq ($(BUILD),v5te)

	COMMFLAGS		+= -marm -march=armv5t -mfloat-abi=soft -mtune=xscale
	CRTGENARCH		= v4

else

	ERR				= $(error "no arch defined")
	
endif




#add SDK
CCFLAGS		+=  -I../../SDK
CCFLAGS		+=  -I../../SDK/Core
CCFLAGS		+=  -I../../SDK/Core/System
CCFLAGS		+=  -I../../SDK/Core/Hardware
CCFLAGS		+=  -I../../SDK/Core/UI
CCFLAGS		+=  -I../../SDK/Dynamic
CCFLAGS		+=  -I../../SDK/libraries

#add repalm
CCFLAGS		+=  -isystem ../dal

#do not touch below

all:		$(PRC)
.PHONY:		$(PRC) clean

OBJS		= $(patsubst %.S,%.o,$(patsubst %.c,%.o,$(SRCS)))
INCS		= $(wildcard *.h)

$(PRC):	$(RSRCS) $(CODERES).bin Makefile
	../../tools/mkrom/mkprc "$(NAME)" $(TYPE) $(CRID) $(RSRCS) $(CODERES).bin > $(PRC)

$(CODERES).elf: $(OBJS) $(LKR) Makefile
	$(LD) -o $@ $(LDFLAGS) $(OBJS)

%.bin : %.elf Makefile
	$(OBJCOPY) -I elf32-littlearm -O binary $< $@ -j.vec -j.text -j.rodata -j.data

libpalmos.c: ../dal/libpalmos.c
	cp $< $@

%.o : %.c $(INCS) Makefile
	$(CC) $(CCFLAGS) -c $< -o $@
	
%.o : %.S Makefile Makefile
	$(CC) $(CCFLAGS) -c $< -o $@

pace.S: Makefile ../../tools/libtools/PACE.libdescr
	echo "#define _ASSEMBLY\n#include \"common.h\"\n#define LIB_SLOT_IN_GLOBALS 0x10" > pace.S
	../../tools/libtools/inclgen.sh $(CRTGENARCH) ../../tools/libtools/PACE.libdescr >> pace.S

crt.S: Makefile fix15.libdescr
	../../tools/libtools/crtgen.sh $(CRTGENARCH) fix15.libdescr >crt.S

clean:
	rm $(PRC) $(OBJS) $(CODERES).bin $(CODERES).elf pace.S crt.S libpalmos.c

	
