⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 一个操作系统,用C语言实现开发的,我在一个浙江大学的操作系统实验网站找到.大家学习以下
💻
字号:
# 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -