Makefile for compiling .idls
Makefile for compiling .idls
我正在编写我的第一个Makefile来编译一些CORBA .idl
定义,以便作为更大系统的一部分使用。我使用omniORB的omniidl
程序,它取file.idl
并创建file.hh
和fileSK.cc
。每个.idl
没有依赖关系,并使用omniidl -bcxx file.idl
命令创建。
从阅读GNU Make教程看来,Pattern Rules将完全满足我的需要。.idl
转换的目标是受GNU手册第10.5.2节中的bison
示例的启发。我的主要问题是如何触发这些规则?我试过把所有的目标,并引入对.idl
s的依赖,但无济于事。
OMNIIDL := omniidl
DEPENDFLAGS := -g
CXX := g++
CXXFLAGS := $(DEPENDFLAGS) -Wall -Werror -ansi
%.o : %.cc
$(CXX) $(CXXFLAGS) -c $< -o $@
%.hh %SK.cc : %.idl
$(OMNIIDL) -bcxx $<
all : $(wildcard *.idl)
在一个相关的注释中,自动生成的代码通常应该放在哪里?我打算将编译的.o
文件复制到我的项目的/lib
或/include
目录中,但.hh
和.cc
文件应该留在src
文件夹中或放在其他地方以简化清理过程? 您的all
目标的依赖项应该是一个对象文件列表,而不是idl文件列表。像这样:
(为了清晰起见,您还可以引入一个变量来保存idl文件列表,然后使用替换引用来获取目标文件列表:
<>之前IDLS:= $(通配符*.idl): $ (idl: % .idl = % SK.o)之前)
相关文章:
- Directx 11 - CompileFromFile() is not compiling
- QtConcurrent::mapped not compiling
- 接收"Error compiling: 0:1(1): error: syntax error, unexpected $end" C++、GLSL、着色器文件
- Compiling OpenCV 3.3 with CUDA 9.0RC
- OpenCV C++ Linux g++ compiling
- 在 Arduino Uno 与以太网防护板中使用 Firebase Arduino 库时出现错误"#include <string> while compiling"
- Compiling QTermWidget
- boost multi_index_container not compiling
- Matlab 如何知道有一个 .mex64 文件并避免无穷大"compiling"循环
- Ubuntu OpenCV not compiling
- Compiling C++ gRPC for Android
- Compiling c++0x for AVR
- Compiling .dylib for Mac
- Compiling wsdlpull
- compiling sfml c++ (ubuntu)
- Compiling a DLL in C++ mingw 64
- Compiling Qt 4.8.x for Visual Studio 2012
- gcc, compiling, and NO_GLIBC is false
- Compiling C and C++
- Makefile for compiling .idls