问题描述
当我在执行我编写的一个makefile时,提示我Missing separator。
这是我的makefile:
all: libmy.so
SRC = f1.c f2.c
TGT = $(SRC:.c=.o)
%.o: %.c
gcc -c $<
libmy.so: $(TGT)
gcc -O -fPIC -shared -o $@ $(TGT)
clean:
rm -f $(TGT)
其中,f1.c 和 f2.c 都只存在一个简易的输出函数:
// f1.c
#include <stdio.h>
void f1(int arg){
printf("F1: You passed: %d .\n", arg);
}
// f2.c
#include <stdio.h>
void f2(char* arg){
printf("F2: You passed: %s .\n", arg);
}
故我认为问题的出现与该两个文件没有关系。
我想知道是否是我的makefile写错了,错在哪里,亦或者是其他的什么问题。
问题环境
gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)
Centos 8.2.2004