makefile

来自「一个操作系统,用C语言实现开发的,我在一个浙江大学的操作系统实验网站找到.大家学」· 代码 · 共 56 行

TXT
56
字号
# CRT Library
# Makefile

.SUFFIXES:

# Programs
CC		= gcc
AS		= as
AR		= ar
LD		= ld

# Directories
INC		= ../../include
LIB		= ../../lib
OUT		= ../../lib

# Flags
CCFLAGS = -I$(INC)
ASFLAGS = -I$(INC)
LDFLAGS = -L$(LIB) -nostdlib
ARFLAGS	=
TARGET	= libcrt.a
CRT0	= crt0.o

ifdef DEBUG
	CCFLAGS += -g -D__DEBUG__
	ASFLAGS += -D --defsym __DEBUG__=1
endif


# Implicit rules
.SUFFIXES: .c .S .o

.S.o:
	$(AS) $(ASFLAGS) -o $@ $<
	
.c.o:
	$(CC) $(CCFLAGS) -c -o $@ $<
	
# Dependencies
MODULES	= crt.o

# Explicit rules
all: $(TARGET) $(CRT0)

clean:
	rm -f $(MODULES)

$(TARGET): $(MODULES)
	$(AR) $(ARFLAGS) -r $(OUT)/$@ $^

$(CRT0): crt0.S
	$(AS) $(ASFLAGS) -o $(OUT)/$@ $^
		
crt.o: crt.c Makefile

⌨️ 快捷键说明

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