Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
1de04831
提交
1de04831
10月 29, 2011
创建
作者:
Silas Boyd-Wickizer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Makefile tweaks.
上级
ec549a89
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
27 行增加
和
15 行删除
+27
-15
Makefile
Makefile
+27
-15
没有找到文件。
Makefile
浏览文件 @
1de04831
...
...
@@ -4,13 +4,13 @@
# Custom config file? Otherwise use defaults.
-include
config.mk
Q
?=
@
TOOLPREFIX
?=
x86_64-jos-elf-
QEMU
?=
qemu-system-x86_64
QEMUSMP
?=
4
QEMUSRC
?=
../mtrace
MTRACE
?=
$(QEMU)
CC
=
$(TOOLPREFIX)
clang
CC
=
$(TOOLPREFIX)
gcc
AS
=
$(TOOLPREFIX)
gas
LD
=
$(TOOLPREFIX)
ld
...
...
@@ -18,7 +18,8 @@ NM = $(TOOLPREFIX)nm
OBJCOPY
=
$(TOOLPREFIX)
objcopy
CFLAGS
=
-fno-pic
-static
-fno-builtin
-fno-strict-aliasing
-O2
-Wall
-MD
-ggdb
\
-m64
-Werror
-std
=
c99
-fms-extensions
-mno-sse
-mcmodel
=
kernel
-I
$(QEMUSRC)
-m64
-Werror
-std
=
c99
-fms-extensions
-mno-sse
-mcmodel
=
kernel
-I
$(QEMUSRC)
\
-fno-omit-frame-pointer
CFLAGS
+=
$(
shell
$(CC)
-fno-stack-protector
-E
-x
c /dev/null
>
/dev/null 2>&1
&&
echo
-fno-stack-protector
)
ASFLAGS
=
-m64
-gdwarf-2
LDFLAGS
+=
-m
elf_x86_64
...
...
@@ -65,19 +66,26 @@ UPROGS= \
_ls
\
_sh
\
%.o
:
%.c
@
echo
" CC
$@
"
$(Q)$(CC)
$(CFLAGS)
-c
-o
$@
$<
%.o
:
%.S
@
echo
" CC
$@
"
$(Q)$(CC)
$(ASFLAGS)
-c
-o
$@
$<
kernel
:
boot.o $(OBJS) initcode bootother fs.img
$(LD)
$(LDFLAGS)
-T
kernel.ld
-z
max-page-size
=
4096
-e
start
\
@
echo
" LD
$@
"
$(Q)$(LD)
$(LDFLAGS)
-T
kernel.ld
-z
max-page-size
=
4096
-e
start
\
-o
$@
boot.o
$(OBJS)
-b
binary initcode bootother fs.img
initcode
:
initcode.S
$(CC)
$(CFLAGS)
-nostdinc
-I
.
-c
initcode.S
$(LD)
$(LDFLAGS)
-N
-e
start
-Ttext
0
-o
initcode.out initcode.o
$(OBJCOPY)
-S
-O
binary initcode.out initcode
bootother
:
bootother.S
$(CC)
$(CFLAGS)
-nostdinc
-I
.
-c
bootother.S
$(LD)
$(LDFLAGS)
-N
-e
start
-Ttext
0x7000
-o
bootother.out bootother.o
$(OBJCOPY)
-S
-O
binary bootother.out bootother
initcode
:
TTEXT = 0x0
bootother
:
TTEXT = 0x7000
%
:
%.S
@
echo
" CC
$@
"
$(Q)$(CC)
$(CFLAGS)
-nostdinc
-I
.
-c
$@
.S
$(Q)$(LD)
$(LDFLAGS)
-N
-e
start
-Ttext
$(TTEXT)
-o
$@
.out
$@
.o
$(Q)$(OBJCOPY)
-S
-O
binary
$@
.out
$@
xv6memfs.img
:
bootblock kernelmemfs
dd
if
=
/dev/zero
of
=
xv6memfs.img
count
=
10000
...
...
@@ -85,7 +93,8 @@ xv6memfs.img: bootblock kernelmemfs
dd
if
=
kernelmemfs
of
=
xv6memfs.img
seek
=
1
conv
=
notrunc
_%
:
%.o $(ULIB)
$(LD)
$(LDFLAGS)
-N
-e
main
-Ttext
0
-o
$@
$^
@
echo
" LD
$@
"
$(Q)$(LD)
$(LDFLAGS)
-N
-e
main
-Ttext
0
-o
$@
$^
mkfs
:
mkfs.c fs.h
gcc
-m32
-Werror
-Wall
-o
mkfs mkfs.c
...
...
@@ -121,11 +130,14 @@ MTRACEOPTS = -rtc clock=vm -mtrace-enable -mtrace-file mtrace.out \
mtrace
:
mscan.kern mscan.syms
$(MTRACE)
$(QEMUOPTS)
$(MTRACEOPTS)
-kernel
mscan.kern
mscan.out
:
mtrace.out
$(QEMUSRC)/mtrace-tools/mscan
mscan.out
:
$(QEMUSRC)/mtrace-tools/mscan
$(QEMUSRC)
/mtrace-tools/mscan
>
$@
||
(
rm
-f
$@
;
exit
2
)
mscan.sorted
:
mscan.out $(QEMUSRC)/mtrace-tools/sersec-sort
$(QEMUSRC)
/mtrace-tools/sersec-sort <
$<
>
$@
ud0
:
kernel
rsync
-avP
kernel amsterdam.csail.mit.edu:/tftpboot/ud0/kernel.xv6
clean
:
rm
-f
*
.o
*
.d
*
.asm
*
.sym initcode kernel bootother mkfs fs.img
rm
-f
*
.o
*
.d
*
.asm
*
.sym initcode kernel bootother mkfs fs.img
_
*
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论