-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmakefile
80 lines (61 loc) · 1.78 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# file makefile
# date 2008/11/12
# author kkamagui
# brief OS 이미지를 빌드하기 위한 make 파일
# 기본적으로 빌드를 수행할 목록
all: BootLoader Kernel32 Kernel64 Disk.img Utility
# 부트 로더 빌드를 위해 부트 로더 디렉터리에서 make 실행
BootLoader:
@echo
@echo ============== Build Boot Loader ===============
@echo
make -C 00.BootLoader
@echo
@echo =============== Build Complete ===============
@echo
# 보호 모드 커널 이미지를 빌드하기 위해 보호 모드 디렉터리에서 make 실행
Kernel32:
@echo
@echo ============== Build 32bit Kernel ===============
@echo
make -C 01.Kernel32
@echo
@echo =============== Build Complete ===============
@echo
# IA-32e 모드 커널 이미지를 빌드하기 위해 IA-32e 모드 디렉터리에서 make 실행
Kernel64:
@echo
@echo ============== Build 64bit Kernel ===============
@echo
make -C 02.Kernel64
@echo
@echo =============== Build Complete ===============
@echo
# OS 이미지 생성
Disk.img: 00.BootLoader/BootLoader.bin 01.Kernel32/Kernel32.bin 02.Kernel64/Kernel64.bin
@echo
@echo =========== Disk Image Build Start ===========
@echo
make -C 04.Utility
./ImageMaker $^
@echo
@echo ============= All Build Complete =============
@echo
# 유틸리티 빌드
Utility:
@echo
@echo =========== Utility Build Start ===========
@echo
make -C 04.Utility
@echo
@echo =========== Utility Build Complete ===========
@echo
run:
qemu-system-x86_64 -monitor tcp:127.0.0.1:55555,server,nowait -L . -fda Disk.img -hda HDD.img -m 64 -localtime -M pc -rtc base=localtime -cpu qemu64 -s
# 소스 파일을 제외한 나머지 파일 정리
clean:
make -C 00.BootLoader clean
make -C 01.Kernel32 clean
make -C 02.Kernel64 clean
make -C 04.Utility clean
rm -f Disk.img