[완료]makefile에서 shell 변수 대입 및 해당 변수을 사용하려면?
일단 echo $DATE를 하면 일자시간값이 나오기는 합니다만
dependency내 DATE 변수를 사용하면 대입햇던 shell command가 나오고 제가 원하는 일자시간값이 나오지는 않네요(T.T)
그리고 참고로 GNU make는 아닙니다
아까 답변주신분 말씀대로 "cp $(ROOT)/smiles/$$src $(HIST)/$(DATE)_$src;\" 식으로도 넣어봤지만 역시 에러가 납니다
for src in cs_lib.ec msgview.ec make_mesg.ec STP_MSG.ec; do ( cp /home/smile/smile30/smiles/
$src /`date "+%y%m%d%H%M%S"`_rc; ); done
cp: /070525143056_rc: The file access permissions do not allow the specified action.
make: 1254-004 The error code from the last command is 1.
이 역시 $DATE를 일자시간이 아닌 shell command로 읽어내는데요..
DATE를 일자시간으로 읽어내려면 어떤 형태로 변수를 기술해야 할까요? 하나더해서 makefile에서 copy하는 부분을 별도로 하나의 shell script로 작성하고 그 shell script에 파라메타로
SOURCES나 OBJECTS 값을 넣어서 실행할 수가 있는지요?makefile에 대해서 잘 아시는 분의 도움을 간절히 바랍니다
SOURCES = cs_lib.ec msgview.ec make_mesg.ec STP_MSG.ec
OBJECTS = cs_lib.o msgview.o make_mesg.o STP_MSG.o
DATE = `date "+%y%m%d%H%M%S"`
EXE_PROG = $(MAKEDIR)/$(EXE_FILE)
$(EXE_PROG):$(OBJECTS)
@rm -f $(OBJECTS) $(SOURCES:.ec=.c)
echo $(DATE)
# SOURCE 및 OBJECT Backup
for src in $(SOURCES);\
do (\
cp $(ROOT)/smiles/$$src $(HIST)/"$$(DATE)"_$$src;\
);\
done
(에러메시지)
echo `date "+%y%m%d%H%M%S"`
070525125124
for src in cs_lib.ec msgview.ec make_mesg.ec STP_MSG.ec; do ( cp /home/smile/smile30/smiles/
$src /"$(DATE)"_$src; ); done
/usr/bin/sh: DATE: not found.
cp: /_cs_lib.ec: The file access permissions do not allow the specified action.
make: 1254-004 The error code from the last command is 1.
Stop.
일단 보니깐 위에서 date를 사용하면 echo가 뿌려지기는 하는데...
실제 실행할때는 DATE가 값이 일자시간이 대입되지 않습니다...어떤식으로 처리해야 DATE를 일자시간으로 대입해서 처리할까요?
cp
예
예 감사합니다...수고하셧습니다
댓글 달기