Details | 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 |