
# Run "make SFW=1" to generate SFW images
SFW = 0

all: lfn.img lfn.iso

IMAGES = watermelon.jpg chicken.jpg kool-aid.jpg eazy.jpg 2pac.jpg lilwayne.jpg purple-drank.jpg
SOUND = drums.wav

lfn.iso: lfn.img
	rm -Rf iso
	mkdir -p iso/boot
	cp $^ iso/boot/
	mkisofs -r -b boot/$^ -c boot/boot.catalog -o $@ iso
	rm -Rf iso

lfn.img: bootsect.S kernel.com
	gcc -traditional -c -o bootsect.o bootsect.S
	ld -Ttext 0x0 -s --oformat binary bootsect.o -o $@

kernel.com: kernel.asm $(IMAGES:%=%.raw)
	nasm -fbin kernel.asm -o $@

clean:
	rm -f *.com *.img *.iso bootsect.s bootsect.o kernel.com
	rm -f *.raw *.raw.pal

%.raw: %
ifeq ($(SFW),1)
	convert -size 80x50 gradient:red-yellow -spread 10 -fill green -draw "text 3,15 '$^'" -fill '#880088' -draw "text 10,35 'LOL YHBT'" -geometry '640x400!' -spread 5 -page +480+320 logo.png -flatten -geometry '320x200!' -dither FloydSteinberg -colors 256 tmp.tga
else
	convert -geometry '640x400!' -page +0+0 $^ -page +480+320 logo.png -flatten -geometry '320x200!' -dither FloydSteinberg -colors 256 tmp.tga
endif
	./getpal.py tmp.tga > $@.pal
	./getpic.py tmp.tga $@
	rm -f tmp.tga

dist:
	rm -Rf lfn
	mkdir lfn
	cp README COPYING lfn/
	cp bootsect.S kernel.asm Makefile getpal.py getpic.py lfn/
	cp $(IMAGES) $(SOUND) logo.png lfn/
	tar cvzf lfn.tar.gz lfn
	rm -Rf lfn

