단일 DLL (플러그인 시스템 용)을 컴파일하기위한 메이크 파일 템플릿이 있습니다. 사용자의 makefile은 다음과 같습니다 : 내가 가지고있는 makefile.in
에서파일이 메이크 파일에 있는지 확인하는 방법
EXTRA_SRCS=file1 file2
include makefile.in
:
plugin.os
메인 C++ 파일입니다
plugin.dll: plugin.os $(patsubst %,%.os,$(EXTRA_SRCS))
컴파일 될 수 있습니다. BTW, 끝나는 파일이 .os
이
지금, 문제는 여분의 소스는 아마 (그러나 반드시)는 헤더 파일된다는 것입니다 (gcc
으로 즉 -fpic
옵션을 사용하여) 공유 라이브러리에 대한 컴파일 된 오브젝트 파일입니다이다. 이상적으로는 대상을 plugin.os
및 file.cpp
에 대한 종속성으로 추가하고 싶습니다 (존재하는 경우에만).
이 방법은 윈도우와 리눅스 모두에서 작동해야하며, 적어도 각각에 적용 가능해야합니다. 그러나, 나는 make의 GNU 버전만을 사용한다. 특정 목록과 일치하기 위해 (... 필터) $를 사용할 필요가 없습니다
$(wildcard $(HEADER_FILES))
수행 EDIT
$(wildcard *.h)
:
내가 원하는 것은 아닙니다. 테스트 할 .h 파일의 특정 목록이 있습니다. – PierreBdR
와일드 카드를 사용할 필요가 없습니다. $ (와일드 카드 $ (HEADER_FILES)) 사용 – JesperE