# # Makefile.fpc for Free Pascal libndsfpc 2.x.y Examples # [target] loaders=mmsolution.bin programs=song_events_example [require] packages=libndsfpc tools=bin2s mmutil grit rmdir nortl=y [install] fpcpackage=y [default] cpu=arm target=nds fpcdir=../../../../../.. [compiler] options=-g -Xm #-d__THUMB__ [clean] files=*.elf *.o *.s *.nds *.nef *.h *.bin *.map \ $(BUILD)/* \ $(INC)/* units=* [prerules] BUILD = build INC = inc AUDIO_FILES = $(foreach dir, $(notdir $(wildcard music/*.*)), $(CURDIR)/music/$(dir)) GFX_FILES = $(foreach dir,gfx,$(notdir $(wildcard $(dir)/*.png))) BIN_FILES = $(foreach dir,data,$(notdir $(wildcard $(dir)/*))) [rules] .NOTPARALLEL: clean: dir_delete fpc_clean fpc_cleanall all: dir_make $(BIN_FILES) $(GFX_FILES) fpc_all # # Delete temp directories # dir_delete: @$(DELTREE) $(CURDIR)/$(BUILD) @$(DELTREE) $(CURDIR)/$(INC) # # Create temp directories # dir_make: ifneq ($(BUILD), $(CURDIR)) @$(MKDIR) $(BUILD) endif ifneq ($(INC), $(CURDIR)) @$(MKDIR) $(INC) endif # # Audio files processing rule # mmsolution.bin.o : $(AUDIO_FILES) @$(MMUTIL) $^ -d -o$(BUILD)/mmsolution.bin -h$(BUILD)/mmsolution.h $(BIN2S) $(BUILD)/mmsolution.bin > $(BUILD)/mmsolution.bin.s $(AS) -o $(BUILD)/mmsolution.bin.o $(BUILD)/mmsolution.bin.s # # Png files processing rule # $(GFX_FILES): $(wildcard %.png) @echo 'Converting $(@) file to asm...' $(GRIT) gfx/$(@) -fts -ff gfx/$(basename $(@)).grit -o$(BUILD)/$(@) @echo 'Assembling $(@).s file...' $(AS) -o $(BUILD)/$(basename $(@)).o $(BUILD)/$(basename $(@)).s @echo 'Done!'