我有一个 subfolder1/Submain.c
{
//initialize statements
CallFunction1();
}
子文件夹2/Submain.c
{
//initialize statements
CallFunction2();
}
等等。
在其中MainFolder
有一个make
包含所有子文件夹的文件。像 subfolder1 子文件夹 2 等。主文件夹也有这个mainfile.h
,它具有所有功能定义(如CallFunction1
和CallFunction2
)。我通过实践知道在.h
文件中包含函数定义不是一个好主意。所以我想创建一个.h
包含所有函数声明(如接口)的新文件,并将这个 .h 包含在子文件夹中。但我不知道该怎么做。有人可以帮忙吗。所以主要是我不知道如何链接新的 .h 和 .C
这是(BIGDIR/tests/Mainfolder/Subfolder1)中的make文件
include $(BIGDIR)/tests/make/Makefile.defs
TEST_NAME := test1
LCINCS += -I$(BIGDIR)/../tests/Mainfolder
C_FILES := SubMain.c
include $(BIGDIR)/tests/make/Makefile.rules
这是 SubMain.c
#include "Main.h"
{
// do things
CallFunction1(); //this function is defined in Main.h which is in Mainfolder
}
我想以这样的方式修改它,subfolder1/submain.c
我可以拥有
#include "NewMain.h"
这样NewMain.h
具有所有函数声明和
main.c
仍然有所有的函数定义(太老了Main.h
==> NewMain.c
)。
Mainfolder 中 Makefile 的当前内容是:
include $(BIGDIR)/tests/make/Makefile.defs
SUBDIRS += subfolder1
SUBDIRS += subfolder2
include $(BIGDIR)/tests/make/Makefile.rules
PS:我无权更改规则。但我可以在子文件夹中使用 Main Makefile 和 Makefile。