makefile

来自「一个基于MMU的操作系统」· 代码 · 共 39 行

TXT
39
字号
ASM_FILES	:= head.S

C_FILES 	:= init.c

SUBDIRS	:= 

DEPFILES 	:= $(patsubst %.S,%.d,$(ASM_FILES)) $(patsubst %.c,%.d,$(C_FILES))

OBJFILES 	:= $(patsubst %.S,%.o,$(ASM_FILES)) $(patsubst %.c,%.o,$(C_FILES))


built-in.o : $(OBJFILES)
	for i in $(SUBDIRS); do \
		cd $$i; $(MAKE); cd ..; \
		done
	$(LD) $(LDFLAGS) -r -o $@ $(OBJFILES) $(patsubst %/,%/built-in.o,$(SUBDIRS))

dep : $(DEPFILES)
	for i in $(SUBDIRS); do \
		cd $$i; $(MAKE) dep; cd ..; \
		done


clean:
	for i in $(SUBDIRS); do \
		cd $$i; $(MAKE) clean; cd ..; \
		done
	rm -f built-in.o $(OBJFILES) $(DEPFILES)


HAS_DEP	:= $(foreach file, $(DEPFILES), $(shell \
				if test -f $(file); then echo 'Y';\
				 else  echo 'N'; fi))
ifeq ($(findstring N, $(HAS_DEP)),)
include $(DEPFILES)
endif

include $(TOPDIR)/Rules.make

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?