Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 466 → Rev 467

/kernel/trunk/makefile
1,16 → 1,48
FASM=fasm
KSRC=kernel.asm
KOUT=kernel.mnt
FLAGS=-m 65536
languages=en|ru|ge|et
drivers_src=sound sis infinity ati2d vmode
skins_src=default
 
en: kernel.asm
rm -f lang.inc
echo lang fix en > lang.inc
$(FASM) $(KSRC) $(KOUT)
ru: kernel.asm
rm -f lang.inc
echo lang fix ru > lang.inc
$(FASM) $(KSRC) $(KOUT)
.PHONY: all kernel drivers skins clean
 
all: kernel drivers skins
 
kernel: check_lang
@echo "*** building kernel with language '$(lang)' ..."
@mkdir -p bin
@echo "lang fix $(lang)" > lang.inc
@echo "--- building 'bin/kernel.mnt' ..."
@$(FASM) $(FLAGS) kernel.asm bin/kernel.mnt
@rm -f lang.inc
 
drivers:
@echo "*** building drivers ..."
@mkdir -p bin/drivers
@cd drivers; for f in $(drivers_src); do \
echo "--- building 'bin/drivers/$${f}.obj' ..."; \
$(FASM) $(FLAGS) $${f}.asm ../bin/drivers/$${f}.obj; \
done
@mv bin/drivers/vmode.obj bin/drivers/vmode.mdr
 
skins:
@echo "*** building skins ..."
@mkdir -p bin/skins
@cd skin; for f in $(skins_src); do \
echo "--- building 'bin/skins/$${f}.skn' ..."; \
$(FASM) $(FLAGS) $${f}.asm ../bin/skins/$${f}.skn; \
done
 
check_lang:
@case "$(lang)" in \
$(languages)) \
;; \
*) \
echo "*** error: language is incorrect or not specified"; \
exit 1; \
;; \
esac
 
clean:
rm -f $(KOUT)
rm -rf bin
rm -f lang.inc