请根据以下内容写出Makefile,要求使用变量(宏)

来源:百度知道 编辑:UC知道 时间:2024/09/27 17:27:30
1.某项目中有以下源代码:
Main.c,a.c,b.c,d.c,e.c,mylib.c mylib.h
头文件myinclude.h 所在路径 /home/nks/myinclude
自定义库函数mylib.a 由mylib.c及mylib.h生成,mylib.a存放在/home/nks/mylib目录下
编译器使用/home/nks/gcc/目录下的nks-gcc
静态库生成工具在/home/nks/ar/nks-ar

#!/bin/sh

BIN = exam
SRC = Main.c a.c b.c d.c e.c
LIB_SRC = mylib.c
LIB_OBJ = mylib.o
CFLAGS = -g -Wall -Werror
LIB = mylib.a
INC = .
GCC = /home/nks/gcc/nks-gcc
AR = /home/nks/ar/nks-ar
LIB_DIR = /home/nks/mylib/
LIB_INC_DIR = /home/nks/myinclude

all:lib $(BIN)

$(BIN):$(SRC)
$(GCC) $(CFLAGS) -o $@ $^ -I$(INC) $(LIB_DIR)$(LIB)
lib:
$(GCC) -c $(LIB_SRC) -I$(LIB_INC_DIR)
$(AR) -rc $(LIB) $(LIB_OBJ)
clean:
rm -rf $(BIN) *.o

看起来好难~

首先你没说明Main.c,a.c,b.c,d.c,e.c,mylib.c mylib.h 这些文件之间的包函关系,你最好能把nks整个文件夹发过来, 不然我无法确定是否能写成功.