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 + -
显示快捷键?