database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
ㆍ자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
자유게시판 자유게시판 4596 게시물 읽기
 
No. 4596
다음의 Makefile을 해석해 주세요
작성자
박준호(hopefulp)
작성일
2005-01-05 17:14
조회수
4,025

관련된 Database가 없는 듯하여 여기에 씁니다. 물론 '스터디'에서 열심히 찾아 봤는데도

이것은 해석이 안 되는군요.

첫 문장만 해석하면 될 듯한데, 무슨 말인지는 알겠지만 몇 가지 의문이 있습니다.

(1)번 문장이 bash 또는 c shell로도 해석이 안 되는 듯 한데 그 이유는

shell 이란 명령어가 없으며

SYSTEM을 명령어로 인식합니다(bash에서, csh 에서는 illigal variable로 나옴)

:= 는 c shell에서 어떤 뜻인지

(2)번으로 보아 c shell을 쓰고 있는 듯 한데

 

SYSTEM := $(shell uname) =====> (1)

ifeq ($(SYSTEM),SunOS) =====> (2)

FC = f90

# Note, standard Sun optimization would be -fast -O3

FFLAGS = -u -fast -O3 -Qoption f90comp -fenophoenix -xarch=native64 \

-xlic_lib=sunperf -moddir=$(HOME)/mod

BLD = /usr/xpg4/bin/ar rcv

LIBDIRS = -L.

LIBS = -lpx -lpes

endif

 

이 글에 대한 댓글이 총 2건 있습니다.

./configure 하기 전의 Makefile.in 형태처럼 보이네요.

autoconf 인지 automake 인지 모르겠지만 configure 를 통해 Makefile 로 변환되어야 알아볼수 있는 구문으로 바뀔거 같네요.

 

이운억(woonuk)님이 2005-01-05 20:59에 작성한 댓글입니다.

1. SYSTEM이라는 변수에 uname이라는 명령을 실행한 결과값을 넣는겁니다.

= 대신에 :=를 쓴 이유는 재귀확장(recursively-expanded variable)을 위한거라네요.(info make 참조)

 

2. SYSTEM변수와 'SunOS'라는 문자열을 비교해서 같으면 ifeq 에서 endif사이의 구문을 실행합니다.

 

즉 시스템의 운영체제가 SunOS면 ifeq와 endif사이의 변수를 등록하게 됩니다.

 

 

그냥 보기엔 일반적인 Makefile인데요. 실행이 어떻게 안되나요?

차영호(ganadist)님이 2005-01-07 11:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4599안녕하세요 오랜만에 자유게시판에 글을 올립니다. [2]
송상준
2005-01-08
3852
4598케이알라인 입니다. 백본 정기점검 때문에 알려드립니다. [2]
케이알라인
2005-01-07
3966
4597처음 페이지 돌려주세요 [2]
두고
2005-01-06
3917
4596다음의 Makefile을 해석해 주세요 [2]
박준호
2005-01-05
4025
4593새해 일출~ [2]
정재익
2005-01-03
3708
45922005년 새해를 더욱 알차게 보내시길... [3]
육응수
2005-01-03
3738
45912005년에도 건강하세요. [1]
지형준
2005-01-03
3646
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다