凌晨4点的美好时光。早上用Makefiles

凌晨4点的美好时光。早上用Makefiles,makefile,Makefile,我有这个makefile和work,问题是我需要使evento.h来自项目文件夹中名为/include的文件夹,并在其中创建另一个名为/lib的文件libeventos.a。我读了很多教程,但我真的不明白。假设目录main.c中有子目录include和lib。 注意,makefile中的“gcc”前面有一个制表符 libevento.a库中的main.c链接 main.c有一个依赖项。/include/evento.h CFLAGS = -Wall libs = evento.h main:

我有这个makefile和work,问题是我需要使evento.h来自项目文件夹中名为/include的文件夹,并在其中创建另一个名为/lib的文件libeventos.a。我读了很多教程,但我真的不明白。

假设目录
main.c
中有子目录
include
lib
。 注意,makefile中的“gcc”前面有一个制表符

libevento.a库中的main.c链接

main.c有一个依赖项。/include/evento.h

CFLAGS = -Wall

libs = evento.h

main:  main.c $(libs)
        gcc $(CFLAGS) -o main main.c $(libs)

您的makefile生成一个名为main的程序。什么来源构建了这个库?用于构建库的是main.c吗?这个想法是用-o生成它,但我不知道为什么在我们尝试添加它们时它不起作用。我的想法是这样做让我澄清一下。您在某个目录中有文件,希望生成以下文件:include/evento.h和lib/libevento.so。或者你有include/evento.h amd lib/libeveto.so,你想用它来构建main吗?构建的main必须用libevento.a来编译,因为我不能直接从源代码编译
FLAGS = -Wall
CFLAGS=-I../include $(FLAGS)

main:  main.c ./include/evento.h
    gcc $(CFLAGS) -o main main.c -L./lib -levento