빌드하고 다른 makefile을 호출하는 makefile이 있습니다. 이 makefile은 작업을 수행하는 더 많은 makefile을 호출하므로 실제로 변경되지 않습니다. 따라서 프로젝트가 최신 상태로 유지되고 있다고 생각합니다.
dnetdev11 ~ # make
make: `release' is up to date.
makefile이 대상을 다시 빌드하도록하려면 어떻게해야합니까?
clean = $(MAKE) -f ~/xxx/xxx_compile.workspace.mak clean
build = svn up ~/xxx \
$(clean) \
~/cbp2mak/cbp2mak -C ~/xxx ~/xxx/xxx_compile.workspace \
$(MAKE) -f ~/xxx/xxx_compile.workspace.mak $(1) \
release:
$(build )
debug:
$(build DEBUG=1)
clean:
$(clean)
install:
cp ~/xxx/source/xxx_utility/release/xxx_util /usr/local/bin
cp ~/xxx/source/xxx_utility/release/xxxcore.so /usr/local/lib
참고 : 무고한 사람을 보호하기 위해 이름이 제거되었습니다.
편집 : 최종 고정 버전 :
clean = $(MAKE) -f xxx_compile.workspace.mak clean;
build = svn up; \
$(clean) \
./cbp2mak/cbp2mak -C . xxx_compile.workspace; \
$(MAKE) -f xxx_compile.workspace.mak $(1); \
.PHONY: release debug clean install
release:
$(call build,)
debug:
$(call build,DEBUG=1)
clean:
$(clean)
install:
cp ./source/xxx_utillity/release/xxx_util /usr/bin
cp ./dlls/Release/xxxcore.so /usr/lib
.PHONY
유일한 문제는 아닌 것처럼 보였고 실제로 솔루션을 질문에 편집하거나 더 이상은 아닙니다.)