Subversion Repositories Kolibri OS

Rev

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