Rev 3274 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3274 | Rev 5084 | ||
---|---|---|---|
1 | FASM=fasm |
1 | FASM=fasm |
2 | FLAGS=-m 65536 |
2 | FLAGS=-m 65536 |
3 | languages=en|ru|ge|et|sp |
3 | languages=en|ru|ge|et|sp |
4 | drivers_src=com_mouse emu10k1x fm801 infinity sis sound vt823x |
- | |
5 | 4 | ||
6 | .PHONY: all kernel drivers bootloader clean |
5 | .PHONY: all kernel bootloader clean |
7 | 6 | ||
8 | all: kernel drivers bootloader |
7 | all: kernel bootloader |
9 | 8 | ||
10 | kernel: check_lang |
9 | kernel: check_lang |
11 | @echo "*** building kernel with language '$(lang)' ..." |
10 | @echo "*** building kernel with language '$(lang)' ..." |
12 | @mkdir -p bin |
11 | @mkdir -p bin |
13 | @echo "lang fix $(lang)" > lang.inc |
12 | @echo "lang fix $(lang)" > lang.inc |
14 | @echo "--- building 'bin/kernel.mnt' ..." |
13 | @echo "--- building 'bin/kernel.mnt' ..." |
15 | @$(FASM) $(FLAGS) kernel.asm bin/kernel.mnt |
14 | @$(FASM) $(FLAGS) kernel.asm bin/kernel.mnt |
16 | @rm -f lang.inc |
15 | @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' ..."; \ |
- | |
23 | $(FASM) $(FLAGS) "$${f}.asm" "../bin/drivers/$${f}.obj" || exit $?; \ |
- | |
24 | done |
- | |
25 | 16 | ||
26 | bootloader: check_lang |
17 | bootloader: check_lang |
27 | @echo "*** building bootloader with language '$(lang)' ..." |
18 | @echo "*** building bootloader with language '$(lang)' ..." |
28 | @mkdir -p bin |
19 | @mkdir -p bin |
29 | @echo "lang fix $(lang)" > lang.inc |
20 | @echo "lang fix $(lang)" > lang.inc |
30 | @echo "--- building 'bin/boot_fat12.bin' ..." |
21 | @echo "--- building 'bin/boot_fat12.bin' ..." |
31 | @$(FASM) $(FLAGS) bootloader/boot_fat12.asm bin/boot_fat12.bin |
22 | @$(FASM) $(FLAGS) bootloader/boot_fat12.asm bin/boot_fat12.bin |
32 | @rm -f lang.inc |
23 | @rm -f lang.inc |
33 | 24 | ||
34 | 25 | ||
35 | check_lang: |
26 | check_lang: |
36 | @case "$(lang)" in \ |
27 | @case "$(lang)" in \ |
37 | $(languages)) \ |
28 | $(languages)) \ |
38 | ;; \ |
29 | ;; \ |
39 | *) \ |
30 | *) \ |
40 | echo "*** error: language is incorrect or not specified"; \ |
31 | echo "*** error: language is incorrect or not specified"; \ |
41 | exit 1; \ |
32 | exit 1; \ |
42 | ;; \ |
33 | ;; \ |
43 | esac |
34 | esac |
44 | 35 | ||
45 | clean: |
36 | clean: |
46 | rm -rf bin |
37 | rm -rf bin |
47 | rm -f lang.inc |
38 | rm -f lang.inc |