메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

make : 유닉스 리눅스 필수 유틸리티

make : 유닉스 리눅스 필수 유틸리티

한빛미디어

번역서

절판

  • 저자 : 앤드류 오람 , 스티브 탈보트
  • 번역 : 이석주
  • 출간 : 2002-04-16
  • 페이지 : 192 쪽
  • ISBN : 8979141300
  • 물류코드 :1130
  • 초급 초중급 중급 중고급 고급
4.4점 (9명)
좋아요 : 20
"make 고급기능 소개에서 실제 프로젝트 적용까지!"

make는 유닉스 소프트웨어 개발에 지대한 공헌을 한 유틸리티이며, 이 책은 그런 make에 관해 깔끔하게 설명하고 있다. 작은 프로젝트에서조차 파일은 서로 다양한 의존 관계를 가지는 법이다. 이 파일 중 하나를 수정하면 이 프로그램 전체를 다시 링크하기 위해 수정된 것을 컴파일해야 하지만, 대개는 처음부터 다시 해야 하는 경우가 많다.

make를 사용하면 이런 절차는 아주 간단해진다. 파일 사이의 관계에 의해 make는 자동으로 필요한 것만을 작업하여 업데이트한다.

여러 프로그래머들이 참여하여 다양한 버전을 동시에 관리하는 대형 프로젝트에서도 make는 빛을 발한다. 그러나 make가 진정한 능력을 발휘하게 하려면 디렉토리와 의존성, 매크로 정의 등을 고려하여 효과적으로 makefile을 만들 수 있어야 한다. 이 책에서는 대형 프로젝트에서 make를 효과적으로 사용할 수 있는 방법을 제시한다.

주요 내용
  • 셸 변수와 각종 환경설정
  • makefile 만들기
  • 매크로 작성
  • 확장자 규칙과 자신만의 확장자 규칙 만들기
  • 프로젝트 관리
  • 라이브러리 파일 관리
  • 디버그
  • make를 재귀적으로 사용하기
앤드류 오람 저자

앤드류 오람

앤드류 오램은 10년 이상 컴퓨터에 관련된 저술을 해 왔다. 그는 사용자를 배려하는 친근한 접근으로 쉬운 주제를 깊이있게 다루어 왔다. 그는 Honeywell Syetems, CSPI, MASSCOMP와 히다치 컴퓨터 제품군에 관해서도 저술하였으며, PDP-11 어셈블리를 가르치기도 하였다. 그는 지금까지 네트워크 관리와 프로그래밍, 언어와 디버거, 실시간 프로그래밍 등에 관하여 책을 써 왔으며, 사실 이 책을 쓰는 것은 그에게는 휴식과 같은 일이었다.
스티브 탈보트 저자

스티브 탈보트

원서의 편집자이기도 한 스티브 탈보트는 10년 이상 기술 문서화 분야에 종사했다. 오라일리에 합류한 후 Concurrent Computer Corporation의 기술 분야 출판 그룹(Technical Publications Group)을 관리하였고, 그 이전에는 컴퓨터를 사용한 문서화 툴을 개발하였다. 그는 사회적, 문화적으로 컴퓨터의 저변을 넓혀나가는 것을 즐기는 사람이다.
이석주 역자

이석주

한국 과학 기술 대학 전기 및 전자 공학과를 졸업하였다. 1994년부터 1999년까지 현대 우주 항공(주)에서 위성에 탑재되는 임베디드 시스템 개발 및 테스트베드 소프트웨어의 개발 작업을 수행하였다. 현재는 플로리다 주립대의 전기 및 컴퓨터 공학과에서 공부 중이다.

서문
     make 유틸리티의 가치
     make를 사용하면 좋은 또다른 이유
     다양한 make 버전들
     이 책의 구성
     자동 테스트 프로그램 구하는 법
     이 책에 사용한 표기 형식
     감사의 글

제1장 컴파일, 실행, 디버그
     기술파일
     의존관계 확인
     재작성 최소화
     make 실행
     구문의 기본 규칙

제2장 매크로
     구문 규칙
     내부적으로 정의된 매크로
     명령 행에서 매크로 정의
     셸 변수
     매크로 할당 우선순위
     기본 설정에서 환경변수 사용
     매크로 문자열 치환
     필요 항목과 타겟용 내부 매크로

제3장 확장자 규칙
     확장자 규칙이란?
     기본 확장자 규칙에서 지원하는 명령
     기본 규칙들을 어떻게 볼 수 있는가?
     자신만의 확장자 규칙 빌드하기

제4장 명령어
     파일 이름의 유형 일치
     각각의 명령행
     오류와 종료에 대하여
     다른 셸에서의 동작
     경로명과 보안

제5장 프로젝트 관리
     더미 타깃
     여러 디렉토리에서 재귀적으로 make 사용
     재귀적으로 make를 사용하는 것에 대한 일반적인 사용 팁
     여러 개의 디렉토리를 사용하는 또 다른 기법
     컴파일러 옵션과 #ifdef 지시자
     헤더 파일
     공통된 정의(문장도 가능)의 사용
     분산 파일 및 NFS

제6장 명령행의 사용법 및 특별한 타깃
     기술 파일 이름
     상태 정보와 디버깅
     오류와 파일 삭제
     MAKEFLAGS 매크로
     기본 설정에 영향을 주는 기타 사항들

제7장 문제 해결
     디버그하기(-d 옵션)
     구문 오류
     작성법 알 수 없음
     최신 버전의 타깃
     명령 없음 또는 열 수 없음
     여러 행을 사용하는 명령의 구문 오류
     모순 있는 행 또는 너무 많은 행
     인식할 수 없는 매크로
     무시되는 기본 규칙

부록 A 퀵 레퍼런스
     명령행
     기술 파일 행
     매크로
     특별한 타깃 이름

부록 B 많이 사용되는 확장된 기능
     mk와 nmake
     GNU make
     imake
     makedefend
     shape
     병렬 및 분산 처리의 구현

부록 C make의 여러 버전간의 특징들
     배경
     차이에 대한 비교 리스트
     직접 실행해 보는 테스트

저는 윈도에서 make를 다음 두가지 용도로 사용합니다.



1. Host(Windows)에서 Target(MIPS)용 실행 파일을 빌드 할 때 30분 정도의 시간이 걸리는데 이 시간을 단축 해보고자 IDE를 사용하지 않고 make를 사용.



2. 현재 사용하는 IDE에서 여러 Option을 비교하기가 어려운데, make를 이용해서 Compile 및 Link Option을 쉽게 비교하기 위해 make를 사용.



저는 위의 작업을 하는데 이 책이 도움이 되었습니다. 처음 make를 접하시는 분들에게 도움이 될 것입니다.

유닉스 환경에서 프로그래밍을 즐겨하는 분들과 뿐만 아니라 윈도우 플랫폼에서 비주얼 툴의 도움없이 단순히 컴파일러와 make와 같은 툴을 이용해서 프로그램을 개발해보고자 하는 분들에게 이 책을 강력히 추천하는 바이다. 사실 이 책은 이제 C언어나 다른 언어의 입문서를 읽고 계신분들에게는 그다지 큰 효용성이 없는 책이다. 또한 웹프로그래밍만을 전문으로 하는 분들도 그다지 도움이 되지는 않을 것이다.



하지만 유닉스 환경에서 실제 프로젝트를 진행하고 계신 분들은 반드시 알고 있어야 하는 내용들을 다루고 있다. 책에 있는 C 언어 예제와 같은 내용들은 단순히 cc 명령어 만으로도 충분히 제어와 관리가 가능하다. 하지만 소규모라도 기업환경에서 사용되는 프로그램들을 개발하는 경우에는 얘기가 틀려지게 된다. make를 이용해야지만이 그 많은 소스들을 관리할 수 있게 된다는 말이다.



사실 이책에서 다루는 내용이 make를 이미 사용해본 경험이 있는 중고급 프로그래머들에게는 너무 당연한 내용일지도 모르겠다. 사실 여기에서 다루는 내용은 kldp에서 한글로 번역된 make 강좌에서도 볼수 있다. 하지만 make를 한번도 다루어보지 않은 독자에게는 이러한 단행본이 더 큰 도움이 될것이다. 그리고 make를 한번도 사용해보지 않은 독자라면 1장과 2, 3, 4장의 내용만으로 프로젝트 관리에서 필요한 대부분의 make 기능은 다 익힐 수 있게 된다.



비주얼스튜디오와 같은 비주얼 툴만 사용할 것이 아니라 직접 유닉스 환경에서 vi와 cc, ar, make 등을 이용해서 프로그램을 개발해보는 것이 중고급 프로그래머로 나아가는데 큰 도움이 되지 않을까 생각된다.

유닉스나 리눅스에서 프로그래밍을 하다보면 꼭 듣게 되는 말이 있다.



make라는 것...



2학년 때인가 3학년 때, 수업 시간에 약간의 맛을 보기는 했는데, 그 후로는 잊고 지내다가 얼마 전에 다시 make라는 것을 듣게 되면서 흥미를 갖고 읽어보았다. (사실..윈도우 기반의 프로그래밍을 주로 하는 본인은 make를 직접 쓸 일은 거의 없었다..)



얇은 책이지만 필요한 내용은 다 있는 것 같았다. 언젠가 수업 시간에 들었던 내용이 새록새록 떠올랐다. 설명도 꽤 쉽게 되어 있고, 실제 실습을 하기에도 좋았다.



어디에선가 make라는 말을 들어보기는 했는데, 한번 써보기는 했는데, 정리를 하고 싶으신 분들은 읽어보심이 좋을 것이다. 또한, 리눅스나 유닉스 프로그래밍을 하시는 분들이라면 한번쯤은 반드시 읽는 것이 좋다고 생각한다.

윈도우에서도 마찬가지겠지만, 특히 유닉스에서는 make 없이 프로그램을 컴파일하는 것은 매우 어려운 일입니다.

소스 파일이 몇 개 안되는 상황이라면, make 없이 작업을 해도 그리 어렵지 않겠지만, 소스 파일 개수가 늘어남에 따라, 일일이 컴파일하는 것은 실제로 거의 불가능에 가까워 집니다.

이 책은 make를 가장 훌륭하게 소개한 책이라고 생각됩니다. 국내서 중에는 make만을 가지고 단행본으로 나와 있는 경우는 없을 것입니다.

오라일리의 번역서이긴 하지만, 숙련된 유닉스 프로그래머가 되기 위해서, 읽어두면 도움이 많이 될 것입니다.

혹시 모든 파일에 대해서 gcc로 일일이

shell에서 command를 쳐서 프로그램을 컴파일

해왔다면 꼭 이책을 보시기 바랍니다.



웹에서 make에 관한 문서는 많지만 항상

어떤 특정한 부분만을 설명한 문서들이었습니다.

이책을 통해 프로젝트 관리 툴인 make에대해

이해하시기 바랍니다.



어떻게 프로그램들간의 의존성을 설정하는지.

그리고 어떻게 관리하는지 배울수있을겁니다.

중급 이상의 프로그래머에게 필요한 책이라고 생각되네요...

초급자도 Make를 사용해서 프로그램을 컴파일 시켜보는 것도 괜찮지만

원서의 원재인 Managing Projects with make처럼 Make란

프로젝트를 관리하기 위한 프로그램입니다..

초보나 시스템 관리에 서툰 유저에게는 어렵게 보이는 책입니다..

실제 프로젝트를 예로 설명한 책이 아니기 때문에 일정 수준 이상의 프로젝트를 수행하지 않은 사람이라면 그 편리성을 느끼지 못할 것입니다..

하지만 어느 정도 수준 이상의 유저라면 이런 책을 기다려 왔을 지도 모릅니다.. 개인적으로 큰 프로젝트를 수행할 때 참고 자료로 활용하고 있습니다.. 핵심만을 정리해 놨기 때문에 많은 도움이 되더군요...

make가 뭘까?



적어도 리눅스를 쓰는 사람이라면



어떤 소스들을 다운로드 받게 되면



꼭 따라오는 파일 중에 Makefile 등을



본 적이 있을 것이다.



도대체 이건 어디서 누가 만든 뭐하는 파일일까?



make



make install



설치문서를 보고 저정도만 따라해 봤어도



make에 관한 공부의 충분한 준비가 된 것이다.



make는 비주얼 관련의 프로그램을 해봤다면



그쪽의 프로젝트 개념과 비슷하다고 생각해 볼 수도 있다.



make는 수많은 소스로 이루어진 프로젝트를



관리해 준다.



만약에 make가 없다면? 1000개로 이루어진 한



프로그램을 일일히 컴파일 - 링크 시킬 것인가?



도중에 파일 하나를 고쳤다면??



처음부터 다시??



make는 정말 필요한 유틸리티이고



이 책은 그 make를 만들고 사용하는 모든 것을 도와준다.

리눅스를 처음 접하게 된 것은 2000년 6월쯤으로 많은 사람들이 사용하지 않는 특이한 뭔가를 찾아 헤매던 때였다. 개인적으로 리눅스는 정말 새로운 환경이었고 정말 마음에 들었었다. 하지만 사용하면서 한글 사용이 문제가 되기 시작했다. 마음에 드는 모양의 글꼴을 쓰기위해 들인 노력은 정말이지...ㅜㅜ



한글 문제는 그렇다고 치자. 리눅스에서는 새로운 소프트웨어를 설치하고 싶으면 다른 운영체제처럼 setup이라는 파일을 더블 클릭하는 것만으로는 해결이 되지 않았다. 그러나 그에 버금가는 좋은 도구가 있다는 것도 알게 되었다. 그것이 바로 make였다.



make 하나면 간단하게 해결이 되는 것이었다. 그렇게 쉽게 사용은 했지만 문제는 그녀석이 정상적으로 동작하지 않을 때 그대가 문제였다. 한참 헤매던중 make라는 녀석은 Makefile이라는 설정파일에 의해서 일을 한다는 것을 알아냈었다. 그러나 문제는 또 그때부터 시작되었다. Makefile의 내용을 이해할 수 없기 때문이었다. 그래서 내가 선택한 방법은 다른 소프트웨어를 찾는 것이었다. 그러나 make의 문제는 거기서 끝나지 않았다. 슬슬 프로그래밍을 할 때쯤 간단한 프로그램을 할 때는 컴파일하고 디버깅하고 또 컴파일하고 디버깅하고...귀찮긴 하지만 그래도 견딜만 했다. 하지만 점점 프로그램의 덩치가 커지면 커질수록 더 이상 그렇게 해결 할 수 있는 문제가 아니라는 것을 알았고, 또다시 make를 접하게 되었다.



리눅스 환경에서 현재 소프트웨어를 사용하거나 제작하려는 사람들이라면 피해 갈 수 없는 관문이 바로 make이다. 그리고 이때 필요한 것이 바로 이 책 『make: 유닉스 리눅스 필수 유틸리티』이다. 물론 인터넷을 통해 많은 문서를 구할 수도 있겠지만 그 문서들이 개인적으로는 make의 사용법을 늦게 배우는 게기가 되었다. (너무 복잡하고 이해하기 힘들어서)



목차를 보면 알겠지만 간단하게 7장으로 구성된 얇은 책이다.

그렇지만 make를 배울 수 있는 모든 것이 들어 있다. 사용법도 적절한 예제를 통해 익힐 수 있도록 구성되어있다. 하지만 책을 읽고 나서도 아쉬웠던 점은 실제 프로그램코드를 이용한 예제가 없어서 책에 있는 make사용법의 예제가 정확하게 돌아가는지를 시험해 볼 수가 없다는 것이었다.



개인적으로 이 책은 별로 흠을 잡고 싶지 않은 책으로 리눅스에서 프로그램을 하는 동안은 계속해서 옆에 두고 보게될 책같다.

개발자에게 make는 꼭 필요한 유틸리티이다. 원서로 보고 꽤 괜찮은 책이라는 인상을 받았던 이 책의 한글판이 나왔다는 말을 듣고 꼭 읽어 보고 싶었다. 얇고 조그마한 원서보다 책의 크기가 커져 조금은 위화감이 있었지만 제법 잘 된 번역에 만족할 수 있었다.



C 뿐 아니라 다른 언어를 사용하는 경우에도 바로 적용할 수 있는 설명이 좋았다. 아니, 프로그래밍을 하려는 사람 뿐 아니라 다른 방향으로도 응용할 수 있도록 책 두께에 비해 많은 예제를 수록한 점이 매력이랄까.



이 책은 대강 다음과 같이 구성되어 있다.



서문



제1장 컴파일, 실행, 디버그

제2장 매크로

제3장 확장자 규칙

제4장 명령어

제5장 프로젝트 관리

제6장 명령행의 사용법 및 특별한 타깃

제7장 문제 해결



부록 A 퀵 레퍼런스

부록 B 많이 사용되는 확장된 기능

부록 C make의 여러 버전간의 특징들



1장에서 make를 처음 사용하는 사람을 위해 설명한 것에 이어 2장의 매크로, 3장의 확장자 규칙 등의 내용에서는 make를 실제 작업에 반영할 수 있는 방법에 대한 자상한 설명이 나와 있었다. 자신에게 최적화된 환경을 만들어 프로젝트를 만들 수 있다는 것은 분명 make의 강력한 매력. 이 부분을 잘 부각시키고 있었다. 또한 패턴 매칭이라던가, make를 사용하는 데 필요한 여러 요소들을 빼놓지 않고 설명하여 make를 잘 모르는 사람이라도 쉽게 사용할 수 있도록 최선을 다한 책이라고 생각했다.



실제적인 활용에 대한 설명은 5장과 6장에서 자세하게 다루고 있다. 프로젝트를 관리하고 특수 타깃을 지정하는 등, 우리가 프로그램을 만드는 데 필요한 요소들이 다양하게 설명되어 읽기 쉬웠다. 하지만 make를 잘 모르는 사람에게는 충분한 책이지만, 어느 정도 알고 있는 사람에게는 좀 더 자세한 옵션에 대한 설명이 필요하지 않나 싶은 생각도 들었다. 물론 이 책에서는 충분히 많은 옵션을 다루고 있기는 하지만, 조금 눈높이를 낮게 잡은 점이 없지 않다고 생각된다. 이것은 다시 말하면, 정말 유닉스나 리눅스에서 프로그램을 만들어 보려는 사람에게는 부담없이 읽을 만한 책일 것이라는 생각이 들었다고도 말할 수 있을것이다.



7장은 우리가 종종 실수를 저지르는 부분에 대한 설명과 대처 방안에 대한 부분이다. 사실 나는 이 7장 역시 부록에 포함되어도 좋지 않나 하는 생각을 했다. 꼭 필요한 내용을 정확히 설명해 주는 점에는 만족했지만, 분량이 좀 적지 않나 하는 생각도 들었고. 또한 부록에서는 다른 버전의 make라던가, 반드시 알아야 하는 것은 아니지만 알아 두면 도움이 되는 내용들이 체계적으로 들어 있어서 만족했다. 단지, 사람 이름 등의 고유명사의 우리말 발음이 조금 어색하게 적혀 있었다는 것이 옥에 티였다고 할까. 물론 모든 이름을 확인하고 넘어갈 수는 없었겠지만, 특히 고유명사가 많이 나오던 부록 부분에서는 아무래도 어색함을 금할 수 없었던 것이 사실이다.



윈도에서 프로그래밍을 하려는 사람들을 위해서는 비주얼 툴들이 나와 있어 편리하게 사용할 수 있지만, 유닉스 쪽에서 프로그래밍을 한다고 하면 지레 겁부터 먹는 사람들을 많이 보아 왔다. make 는 바로 유닉스 환경에서 프로그래밍을 하기 위한, 비록 비주얼 툴 처럼 직관적이지는 않지만 강력한 도구이다. 지금 시장에 make에 대한 다른 국내서가 없는 상황에서 이 책은 make를 공부하기 위한 몇 안 되는 길이 아닐까 생각한다. 물론 온라인 문서나 원서 등을 읽으며 공부할 수도 있겠지만, 그럴 여건이 되지 않거나, 기본적인 내용이라도 체계적으로 공부하고 싶어하는 사람들에게는. 물론.... 잘 정리된 책이기는 하지만 초보자용 책이라는 느낌이 강하다. make를 이미 오랫동안 사용해 온 사람들을 위한 책은 아니라고 본다. 아마도 눈치 채고 있겠지만. 물론, 자기의 지식을 정리해 보고자 하는 사람들을 위해서는 나쁘지 않은 선택일 것이라 생각한다.



결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
make : 유닉스 리눅스 필수 유틸리티
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
make : 유닉스 리눅스 필수 유틸리티
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
make : 유닉스 리눅스 필수 유틸리티
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실