.SUFFIXES:.c .o //.c和.o建立关联
CC=gcc
SRCS=hello.c\
add.c //同时编译两个.c文件
OBJS=$(SRCS:.c=.o)//ORJS=hello.o add.o
EXEC=hello
start: $(OBJS) //依赖hello.o add.o
$(CC) -o $(EXEC) $(OBJS)
@echo '----------------ok------------'
.c.o:
$(CC) -o $@ -c $< //自动根据$(OBJS) 中.o的数量循环编译, 直到编译完所有的.c文件
clean:
rm -f $(OBJS)
**hello.c内容**
#include <stdio.h>
#include "add.h"
int main(int arg, char *args[])
{
printf("add = %d\n", add(12, 56));
return 0;
}
**add.h内容**
#ifndef PUB_H_
#define PUB_H_
int add(int a, int b);
#endif /* PUB_H_ */
**add.c内容**
int add(int a, int b)
{
return a + b;
}
linux makefile 编译c和c++文件
最新推荐文章于 2024-08-08 15:02:51 发布