Hello @younghan ,
Can you take a look at https://github.com/STMicroelectronics/meta-st-openstlinux/tree/mickledore/recipes-core/psplash ?
You will find different elements that helps you to understand what is necessary for the cross compilation of psplash-drm.
If you take a more precise look at the Makefile :
SPLASH_IMG ?= OpenSTLinux_background_480x272.png
SPLASH_IMG_ROT ?= OpenSTLinux_background_480x272_rotation.png
all: modeset
generate_header: $(SPLASH_IMG) $(SPLASH_IMG_ROT)
@gdk-pixbuf-csource --macros $(SPLASH_IMG) > image_header.tmp
@(sed -e "s/MY_PIXBUF/SPLASH_IMG/g" -e "s/guint8/uint8_t/g" image_header.tmp > image_header.h && rm image_header.tmp)
@gdk-pixbuf-csource --macros $(SPLASH_IMG_ROT) > image_header.tmp
@(sed -e "s/MY_PIXBUF/SPLASH_IMG_ROT/g" -e "s/guint8/uint8_t/g" image_header.tmp >> image_header.h && rm image_header.tmp)
psplash:
$(CC) $(CFLAGS) $(LDFLAGS) -o psplash-drm basic_splash_drm.c -I. `pkg-config --cflags --libs libdrm pixman-1 libpng` -Wall -Os
clean:
rm -rf psplash-drm
You can see you have a rule to compile the psplash binary, and a one to generate the header. The header is the file called image_header.h in the folder tree. You can also see that you have this file already present by default.
Now if we take a look at the recipe psplash-drm.bb (in the do_compile task):
do_compile() {
bbnote "EXTRA_OEMAKE=${EXTRA_OEMAKE}"
oe_runmake clean
oe_runmake psplash
}
You see that only the psplash rule is compiled, and not the header generation. So I think you will have to change the SPLASH_IMG and SPLASH_IMG_ROT in the Makefile first, then generate the header manually, to finally cross compile the binary. I do not know if we have limitations with the resolution of the image, you will have to test different ones.
Kind regards,
Erwan.