📄 makefile
字号:
# 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -