makefile을 기술할때에..PWD를 한번만 읽게 할려면어떻게 해야하나요..

gloomyr의 이미지


makefile 을 기술하는데
현재 디렉토리의 특정파일을 읽어오고 싶습니다.

makefile에서 def파일을 읽어와서 환경을 설정합니다.
이곳에서 다른설정파일을 읽어오기위해서 절대경로를 지정되어 있는데 이절대경로가
너무 불편합니다.

그래서 include $(PWD)/aa.def 이런식으로 읽어왔습니다.

문제는 그 하위폴더에서도 def파일을 인클루드시키는데 $(PWD)가 계속적용이 됩니다. ㅜㅜ

저 $(PWD)를 최상위에서 한번만 적용하고 그하위에서는 적용된 절대경로로 참조할수 있는 방법은 없을까요..

makefile 여기서 이파일을 인클루드하고

include file.def

file.def 파일에서

include $(PWD)/aa.def

이렇게 인클루드합니다.

그하위폴더에서도

include ../file.def

이런식으로 인클루드하기때문에 저 file.def안에 $(PWD)를 한번만 적용시키고싶은데..
답이안나오네요 ㅠㅠ

gloomyr의 이미지

감사합니다. ㅎㅎ 잘해결했습니다.

gloomyr의 이미지

생각지도못한 문제가 생겨버렸군요

파일내에 export DIR = $(PWD) 이렇게 사용하고있는데..

다른 파일로 옴겨가니 export DIR 이되지 않는군요...$(DIR) 하면 공백이나오더군요

파일외부에서 쉘에서 export DIR=$(PWD) 하면 전체다 적용되는데

파일안에서 export 한 변수는 전체쉘에적용이 되지 않는군요..

이리저리 제가 검색해본바로 방법이 없다... 라는데 설마.. 리눅스에서 방법이 없을리가 ..

파일내부에서 export 변수 를 쉘전체에 적용시키는 법 없을까요?
외부에서 source를 사용하는법은 말구요...