Subversion Repositories Kolibri OS

Rev

Rev 1623 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
137 mikedld 1
FASM=fasm
467 mikedld 2
FLAGS=-m 65536
3274 esevece 3
languages=en|ru|ge|et|sp
4
drivers_src=com_mouse emu10k1x fm801 infinity sis sound vt823x
17 me_root 5
 
3274 esevece 6
.PHONY: all kernel drivers bootloader clean
17 me_root 7
 
3274 esevece 8
all: kernel drivers bootloader
467 mikedld 9
 
10
kernel: check_lang
11
	@echo "*** building kernel with language '$(lang)' ..."
12
	@mkdir -p bin
13
	@echo "lang fix $(lang)" > lang.inc
14
	@echo "--- building 'bin/kernel.mnt' ..."
15
	@$(FASM) $(FLAGS) kernel.asm bin/kernel.mnt
16
	@rm -f lang.inc
17
 
18
drivers:
19
	@echo "*** building drivers ..."
20
	@mkdir -p bin/drivers
21
	@cd drivers; for f in $(drivers_src); do \
22
	  echo "--- building 'bin/drivers/$${f}.obj' ..."; \
1623 mikedld 23
	  $(FASM) $(FLAGS) "$${f}.asm" "../bin/drivers/$${f}.obj" || exit $?; \
467 mikedld 24
	done
25
 
3274 esevece 26
bootloader: check_lang
27
	@echo "*** building bootloader with language '$(lang)' ..."
28
	@mkdir -p bin
29
	@echo "lang fix $(lang)" > lang.inc
30
	@echo "--- building 'bin/boot_fat12.bin' ..."
31
	@$(FASM) $(FLAGS) bootloader/boot_fat12.asm bin/boot_fat12.bin
32
	@rm -f lang.inc
33
 
467 mikedld 34
 
35
check_lang:
36
	@case "$(lang)" in \
37
	  $(languages)) \
38
	    ;; \
39
	  *) \
40
	    echo "*** error: language is incorrect or not specified"; \
41
	    exit 1; \
42
	    ;; \
43
	esac
44
 
17 me_root 45
clean:
467 mikedld 46
	rm -rf bin
17 me_root 47
	rm -f lang.inc