makefile
来自「一个基于MMU的操作系统」· 代码 · 共 50 行
TXT
50 行
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 + =
减小字号Ctrl + -
显示快捷键?