일반/패턴 특정 규칙이있는 큰 프로젝트의 gnu 메이크 파일을 수정하려고합니다.조건에 따라 특정 개체 재구성
메이크 파일은 별도의 규칙으로 컴파일 및 연결됩니다. 특정 조건이 링크 시간에 성공하면 다시 링크하기 전에 컴파일 규칙을 다시 호출해야한다는 특정 요구가 있습니다. 메이크 파일의 샘플 문제는 다음과 같습니다.
$(obj_dir)/%.o: $(src_base)/%.cpp
@echo Compiling: $<
$(q)$(CXX) $(CXXFLAGS) $(REV) $(CXX_INCLUDE_PATH) -o [email protected] $<
$(link_files) :
@echo Linking [email protected]
$(q)$(CXX) $(LINKFLAGS) -o [email protected] %.o
ifeq (1,1)
#condition pass so I want to call generic above ompilation rule again
?????
else
$(warning Do Nothing)
endif
제네릭 컴파일 규칙을 재귀 적으로 또는 다른 방법으로 다시 호출 할 수있는 방법에 대해 도움을받을 수 있습니까?
도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다.
개체 파일을 연결 규칙의 전제 조건으로 사용하지 않으시겠습니까? 이 경우 컴파일 규칙을 다시 호출하면 오브젝트 파일이 이미 최신 상태가되므로 아무 작업도 수행하지 않습니다. – Beta
감사합니다. 오브젝트 파일을 링크 규칙 종속성으로 추가 할 수 있거나 컴파일 규칙을 다시 호출하기 전에 링크 파일을 제거 할 수 있습니다. 링크 규칙 내에서 호출 컴파일 규칙을 다시 호출 할 수있는 방법에 대한 원래 질문을 도와 줄 수 있습니까? – Akamai
Make가 어떻게 작동하는지 오해 한 것 같습니다. 원하는 오브젝트 파일의 목록이있는 경우 컴파일 규칙을 다시 호출하기는 쉽지만 그렇게하는 것으로는 어떤 의미도 보이지 않습니다. 개체 파일을 다시 빌드하려는 이유 *를 말씀해 주시겠습니까? – Beta