TARGET := $(notdir $(CURDIR))
BUILD := build
SOURCES := source
-DATA := data
+DATA :=
INCLUDES := include
+GRAPHICS := gfx
#---------------------------------------------------------------------------------
# options for code generation
export TOPDIR := $(CURDIR)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
- $(foreach dir,$(DATA),$(CURDIR)/$(dir))
+ $(foreach dir,$(DATA),$(CURDIR)/$(dir)) \
+ $(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD)
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
+PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png)))
#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
export OFILES := $(addsuffix .o,$(BINFILES)) \
- $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
+ $(PNGFILES:.png=.rgb.o) \
+ $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) \
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
@echo $(notdir $<)
@$(bin2o)
-# WARNING: This is not the right way to do this! TODO: Do it right!
+
+
+#---------------------------------------------------------------------------------
+%.rgb.o: %.rgb
+#---------------------------------------------------------------------------------
+ @echo $(notdir $<)
+ @$(bin2o)
+
#---------------------------------------------------------------------------------
-%.vsh.o : %.vsh
+%.rgb: %.png
#---------------------------------------------------------------------------------
@echo $(notdir $<)
- @python $(AEMSTRO)/aemstro_as.py $< ../$(notdir $<).shbin
- @bin2s ../$(notdir $<).shbin | $(PREFIX)as -o $@
- @echo "extern const u8" `(echo $(notdir $<).shbin | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > `(echo $(notdir $<).shbin | tr . _)`.h
- @echo "extern const u8" `(echo $(notdir $<).shbin | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> `(echo $(notdir $<).shbin | tr . _)`.h
- @echo "extern const u32" `(echo $(notdir $<).shbin | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> `(echo $(notdir $<).shbin | tr . _)`.h
- @rm ../$(notdir $<).shbin
+ @convert $< -channel B -separate $< -channel G -separate $< -channel R -separate -channel RGB -combine -rotate 90 $@
-include $(DEPENDS)
#include <string.h>
//This include a header containing definitions of our image
-#include "drunkenlogo_bin.h"
+#include "drunkenlogo_rgb.h"
int main(int argc, char **argv)
{
u8* fb = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL);
//Copy our image in the bottom screen's frame buffer
- memcpy(fb, drunkenlogo_bin, drunkenlogo_bin_size);
+ memcpy(fb, drunkenlogo_rgb, drunkenlogo_rgb_size);
// Main loop
while (aptMainLoop())