summaryrefslogtreecommitdiff
path: root/packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc')
-rw-r--r--packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc124
1 files changed, 124 insertions, 0 deletions
diff --git a/packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc b/packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc
new file mode 100644
index 0000000000..ae434830c8
--- /dev/null
+++ b/packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc
@@ -0,0 +1,124 @@
+#
+# Makefile.fpc for Free Pascal libndsfpc 2.x.y Examples
+#
+
+[target]
+loaders=
+programs=tilemap_256_color
+
+[require]
+packages=libndsfpc
+tools=bin2s mmutil grit_fpc rmdir mv ndstool
+nortl=y
+
+[install]
+fpcpackage=y
+
+[default]
+cpu=arm
+target=nds
+fpcdir=../../../../../..
+
+[compiler]
+options=-Xm
+targetdir=$(BIN)
+unittargetdir=$(BUILD)
+
+[clean]
+files=*.elf *.o *.s *.nds *.nef *.h *.bin *.map \
+ $(BUILD)/* \
+ $(INC)/* \
+ $(BIN)/*
+units=*
+
+
+[prerules]
+BIN = bin
+BUILD = build
+DATA = data
+FILESYSTEM = filesystem
+GFX = gfx
+INC = inc
+AUDIO_FILES = $(foreach dir, $(notdir $(wildcard audio/*.*)), $(CURDIR)/audio/$(dir))
+GFX_FILES = $(foreach dir, $(GFX), $(notdir $(wildcard $(dir)/*.bmp $(dir)/*.png)))
+BIN_FILES = $(foreach dir, $(DATA), $(notdir $(wildcard $(dir)/*)))
+GBFS_FILES = $(foreach dir, GBFS, $(notdir $(wildcard $(dir)/*)))
+
+[rules]
+.NOTPARALLEL:
+clean: dir_delete fpc_clean fpc_cleanall
+all: dir_make $(BIN_FILES) $(GFX_FILES) fpc_all
+filesystem: all make_filesystem
+
+
+
+#
+# Delete temp directories
+#
+dir_delete:
+ @$(DELTREE) $(CURDIR)/$(BUILD)
+ @$(DELTREE) $(CURDIR)/$(INC)
+ @$(DELTREE) $(CURDIR)/$(BIN)
+
+#
+# Create temp directories
+#
+dir_make:
+ifneq ($(BUILD), $(CURDIR))
+ @$(MKDIR) $(BUILD)
+endif
+ifneq ($(INC), $(CURDIR))
+ @$(MKDIR) $(INC)
+endif
+ifneq ($(BIN), $(CURDIR))
+ @$(MKDIR) $(BIN)
+endif
+
+#
+# Audio files processing rule
+#
+soundbank.bin.o : $(AUDIO_FILES)
+ @$(MMUTIL) $^ -d -o$(BUILD)/soundbank.bin -h$(BUILD)/soundbank.h
+ $(BIN2S) $(BUILD)/soundbank.bin > $(BUILD)/soundbank.bin.s
+ $(AS) -o $(BUILD)/soundbank.bin.o $(BUILD)/soundbank.bin.s
+
+#
+# Png files processing rule
+#
+$(GFX_FILES): $(wildcard %.bmp %.png)
+ @echo 'Converting $(@) file to asm...'
+ $(GRIT_FPC) $(GFX)/$(@) -fp -fts -ff $(GFX)/$(basename $(@)).grit -o$(BUILD)/$(@)
+ @echo 'Assembling $(@).s file...'
+ $(AS) -o $(BUILD)/$(basename $(@)).o $(BUILD)/$(basename $(@)).s
+ $(MV) -f $(BUILD)/$(basename $(@)).inc $(INC)/$(basename $(@)).inc
+ @echo 'Done!'
+
+#
+# Binary files processing rule
+#
+$(BIN_FILES): $(wildcard %.*)
+ @echo 'Converting $(@) file to asm...'
+ @$(BIN2S) $(DATA)/$(@) > $(BUILD)/$(@).s
+ @echo 'Creating $(@).inc include file...'
+ @echo "var" > `(echo "$(INC)/"$(@F) | tr . .)`.inc
+ @echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end: array [0..0] of cuint8; cvar; external;" >> `(echo "$(INC)/"$(@F) | tr . .)`.inc
+ @echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`": array [0..0] of cuint8; cvar; external;" >> `(echo "$(INC)/"$(@F) | tr . .)`.inc
+ @echo " " `(echo $(@F) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size": cuint32; cvar; external;" >> `(echo "$(INC)/"$(@F) | tr . .)`.inc
+ @echo 'Assembling $(@).s file...'
+ @$(AS) -o $(BUILD)/$(@).o $(BUILD)/$(@).s
+ @echo 'Done!'
+
+
+#
+# GBFS files processing rule
+#
+data.gbfs.o:
+ @cd GBFS && gbfs ../$(BUILD)/data.gbfs $(GBFS_FILES)
+ $(BIN2S) $(BUILD)/data.gbfs > $(BUILD)/data.gbfs.s
+ $(AS) -o $(BUILD)/data.gbfs.o $(BUILD)/data.gbfs.s
+
+#
+# Nitro Filesystem processing rule
+#
+make_filesystem:
+ @$(NDSTOOL) -c $(BIN)/$(TARGET_PROGRAMS).fs.nds -9 $(BIN)/$(TARGET_PROGRAMS).nef.bin -d $(CURDIR)/$(FILESYSTEM) \ No newline at end of file