[완료]makefile에서 date를 사용해야 하는데 shell이 실행되지 않네요..,T.T

tibi의 이미지

아래에 date를 사용햇는데 잘 안됩니다
EXE_PROG = $(MAKEDIR)/STP_MSG
$(EXE_PROG):$(OBJECTS)
esql -G -o $@ $(OBJECTS) $(LOADLIBES)
@rm -f $(OBJECTS) $(SOURCES:.ec=.c)
# SOURCE 및 OBJECT Backup
test = date +%Y.%m.%d
DATE:=$(shell $$(test))
echo "DATE="$(DATE)
# for src in $(SOURCES);\
# do (\
# cp $(ROOT)/smiles/$$src $(HIST)/$$today_$$src);\
# done

아래와 같이 뜹니다..잘 아시는 분의 도움 바랍니다
DATE = `date "+%Y.%m.%d"`

/usr/bin/sh: DATE: not found.
make: 1254-004 The error code from the last command is 127.
참고로 Unix에 DB는 informix 입니다

cmoh1110의 이미지

$$(test) 를 $(test) 로 쓰면 안되나요?

아니면

DATE=$(shell date +%Y.%m.%d)
tibi의 이미지

옙 그리해봣는데..안되는걸요...먼가 환경에서 설정해 주는게 다른게 있는건가요?
답답하네요.

IsExist의 이미지

일단 make 버전이 GNU make 여야 합니다.

Quote:

CMD := $(shell date +"%Y-%m-%d")
DATE = "$(CMD)"

처럼 서보세요.
---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

tibi의 이미지

답변감사합니다..
말씀하신대로 해봤는데 일단 GNU make가 아닌거 같습니다..
아래와 같이 에러가 나네요.
CMD := ;
/usr/bin/sh: CMD: not found.
make: 1254-004 The error code from the last command is 127.

Stop.

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를 일자시간으로 대입해서 처리할까요?

lipide의 이미지

바로 위에 올리신 Makefile의 문맥상으로 보면
$$(DATE)를 $(DATE)로 바꾸시고
$$src를 $src로 바꾸시면 원하시는 대로 작동할 것 같습니다. ^^

tibi의 이미지

말씀해주신대로 해봣는데 아래와 같이 에러가 납니다
일단 GNU make는 아니고요..
echo `date "+%y%m%d%H%M%S"`
070525141742
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: /070525141742_rc: The file access permissions do not allow the specified action.
make: 1254-004 The error code from the last command is 1.

lipide의 이미지

위의 에러는 퍼미션 문제인것 같습니다.

Quote:

cp: /070525141742_rc: The file access permissions do not allow the specified action.

에러 문구로 봐서는 /070525141742_rc 라는 파일(혹은 폴더)로 쓸수가 없었던거 같은데요.
make를 실행시키신 상황이 최상위 폴더 ('/')에 쓸수 있는 권한이 있는 root권한이신가요? 아니면 다른곳에 복사하시고자 한것인가요?

tibi의 이미지

옙 말씀하신대로 permission 문제가 맞네요..감사합니다

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.