📄 makefile
字号:
MAKE := make
#MAKE := make --no-print-directory
INCLUDEDIR := $(shell pwd)/include
TOPDIR := $(shell pwd)
CROSSCOMPILE := arm-linux-
CFLAGS := -Wall -Wstrict-prototypes -ffreestanding -c
CPPFLAGS := -I$(INCLUDEDIR)
LDFLAGS :=
CC := $(CROSSCOMPILE)gcc
LD := $(CROSSCOMPILE)ld
OBJCOPY := $(CROSSCOMPILE)objcopy
OBJDUMP := $(CROSSCOMPILE)objdump
export MAKE INCLUDEDIR TOPDIR \
CROSS_COMPILE CFLAGS CPPFLAGS LDFLAGS CC LD OBJCOPY OBJDUMP
SRCFILES :=
DEPFILES := $(patsubst %.c,%.d,$(SRCFILES))
SUBDIRS := arch/ init/ kernel/ mm/ lib/
OBJFILES := $(patsubst %/,%/built-in.o,$(SUBDIRS))
mos : FORCE
for i in $(SUBDIRS); do \
cd $$i; $(MAKE) dep; cd ..; \
done
for i in $(SUBDIRS); do \
cd $$i; $(MAKE); cd ..; \
done
$(LD) $(LDFLAGS) -Tarch/mos.lds $(OBJFILES) -o mos_tmp.o
$(OBJCOPY) -O binary -S mos_tmp.o mos
$(OBJDUMP) -D -b binary -m arm mos > mos_dissemble.s
clean:
for i in $(SUBDIRS); do \
cd $$i; $(MAKE) clean; cd ..; \
done
rm -f mos
FORCE:
include $(TOPDIR)/Rules.make
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -