큰 시스템의 일부로 사용할 CORBA .idl
정의를 컴파일하기 위해 첫 Makefile을 작성하고 있습니다. 저는 omniidl
프로그램을 사용하여 file.idl
을 사용하고 file.hh
과 fileSK.cc
을 만듭니다. 각 .idl
은 종속성이 없으며 omniidl -bcxx file.idl
명령으로 작성됩니다..idls 컴파일을위한 Makefile
GNU Make 튜토리얼을 읽는 것부터 패턴 규칙이 내가 원하는 것을 정확하게 수행 할 것으로 보인다. .idl
변환 대상은 bison
예에서 GNU 설명서 Section 10.5.2의 영향을받습니다. 내 주요 질문은 어떻게 실제로 이러한 규칙을 실행합니까? 나는 모든 목표를 설정하고 .idl
에 대한 의존성을 도입하려했지만 아무 소용이 없었습니다.
OMNIIDL := omniidl
DEPENDFLAGS := -g
CXX := g++
CXXFLAGS := $(DEPENDFLAGS) -Wall -Werror -ansi
%.o : %.cc
$(CXX) $(CXXFLAGS) -c $< -o [email protected]
%.hh %SK.cc : %.idl
$(OMNIIDL) -bcxx $<
all : $(wildcard *.idl)
관련 메모에서 일반적으로 자동 생성 코드는 어디에 배치해야합니까? 컴파일 된 .o
파일을 내 프로젝트의 /lib
또는 /include
디렉토리로 복사하지만 .hh
및 .cc
파일은 src
폴더에 남겨 두거나 정리 프로세스를 쉽게하기 위해 다른 곳에 배치해야합니까?