makefile
来自「一个操作系统,用C语言实现开发的,我在一个浙江大学的操作系统实验网站找到.大家学」· 代码 · 共 77 行
TXT
77 行
# Kernel 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) --defsym __KERNEL__=1
LDFLAGS = -L$(LIB) -nostdlib
ARFLAGS =
ifdef DEBUG
CCFLAGS += -g -D__DEBUG__
ASFLAGS += -D --defsym __DEBUG__=1
endif
# Target
ifdef LIBKNL16
TARGET = libknl16.a
ASFLAGS += --defsym __LIBKNL16__=1
else
TARGET = libknl.a
endif
# Implicit rules
.SUFFIXES: .c .S .o
.S.o:
$(AS) $(ASFLAGS) -o $@ $<
.c.o:
$(CC) $(CCFLAGS) -c -o $@ $<
# Dependencies
MODULES = memcpy.o memset.o memcmp.o memchr.o \
strcpy.o strcat.o strcmp.o strlen.o \
strncpy.o strncat.o strncmp.o \
strchr.o strrchr.o stricmp.o strnicmp.o \
sprintf.o
# Explicit rules
all: $(TARGET)
clean:
rm -f $(MODULES)
$(TARGET): $(MODULES)
$(AR) $(ARFLAGS) -r $(OUT)/$@ $^
memcpy.o: memcpy.S f_asm.inc Makefile
memset.o: memset.S f_asm.inc Makefile
memcmp.o: memcmp.S f_asm.inc Makefile
memchr.o: memchr.S f_asm.inc Makefile
strcpy.o: strcpy.S f_asm.inc Makefile
strcat.o: strcat.S f_asm.inc Makefile
strcmp.o: strcmp.S f_asm.inc Makefile
strlen.o: strlen.S f_asm.inc Makefile
strncpy.o: strncpy.S f_asm.inc Makefile
strncat.o: strncat.S f_asm.inc Makefile
strncmp.o: strncmp.S f_asm.inc Makefile
strchr.o: strchr.S f_asm.inc Makefile
strrchr.o: strrchr.S f_asm.inc Makefile
stricmp.o: stricmp.S f_asm.inc Makefile
strnicmp.o: strnicmp.S f_asm.inc Makefile
sprintf.o: sprintf.c Makefile
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?