summaryrefslogtreecommitdiff
path: root/packages/libndsfpc/examples/graphics/3D/Textured_Quad
diff options
context:
space:
mode:
authorLegolas <Legolas@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-02-25 20:52:50 +0000
committerLegolas <Legolas@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-02-25 20:52:50 +0000
commitba44aca2fe190693c13320d37422309171bd2831 (patch)
tree0dcbaa87090b1c6ec46027878fb76e6e81224f58 /packages/libndsfpc/examples/graphics/3D/Textured_Quad
parent73494d22d70f3e0f90dd86f9306f1f3410458daa (diff)
downloadfpc-ba44aca2fe190693c13320d37422309171bd2831.tar.gz
* Fixed NDS building cycle (resolves bug 0026847)
* Updated libndsfpc to ver 1.5.10 * Improved libndsfpc examples git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30008 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/libndsfpc/examples/graphics/3D/Textured_Quad')
-rw-r--r--packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile.fpc59
1 files changed, 45 insertions, 14 deletions
diff --git a/packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile.fpc b/packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile.fpc
index 37b018a517..92ff5964d6 100644
--- a/packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile.fpc
+++ b/packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile.fpc
@@ -8,7 +8,7 @@ programs=TexturedQuad
[require]
packages=libndsfpc
-tools=bin2s mmutil grit rmdir
+tools=bin2s mmutil grit_fpc rmdir mv ndstool
nortl=y
[install]
@@ -20,26 +20,37 @@ target=nds
fpcdir=../../../../../..
[compiler]
-options=-g -Xm
-#-d__THUMB__
+options=-Xm
+targetdir=$(BIN)
+unittargetdir=$(BUILD)
[clean]
files=*.elf *.o *.s *.nds *.nef *.h *.bin *.map \
$(BUILD)/* \
- $(INC)/*
+ $(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)/*.png)))
-BIN_FILES = $(foreach dir,data,$(notdir $(wildcard $(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
@@ -47,7 +58,8 @@ all: dir_make $(BIN_FILES) $(GFX_FILES) fpc_all
dir_delete:
@$(DELTREE) $(CURDIR)/$(BUILD)
@$(DELTREE) $(CURDIR)/$(INC)
-
+ @$(DELTREE) $(CURDIR)/$(BIN)
+
#
# Create temp directories
#
@@ -58,6 +70,9 @@ endif
ifneq ($(INC), $(CURDIR))
@$(MKDIR) $(INC)
endif
+ifneq ($(BIN), $(CURDIR))
+ @$(MKDIR) $(BIN)
+endif
#
# Audio files processing rule
@@ -70,11 +85,12 @@ soundbank.bin.o : $(AUDIO_FILES)
#
# Png files processing rule
#
-$(GFX_FILES): $(wildcard %.png)
+$(GFX_FILES): $(wildcard %.bmp %.png)
@echo 'Converting $(@) file to asm...'
- $(GRIT) gfx/$(@) -fts -ff gfx/$(basename $(@)).grit -o$(BUILD)/$(@)
+ $(GRIT) $(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!'
#
@@ -82,12 +98,27 @@ $(GFX_FILES): $(wildcard %.png)
#
$(BIN_FILES): $(wildcard %.*)
@echo 'Converting $(@) file to asm...'
- @$(BIN2S) data/$(@) > $(BUILD)/$(@).s
+ @$(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 "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