Makefile 2000. 03. 25..

Slides:



Advertisements
Similar presentations
제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
Advertisements

변비 재활전문센터 재활 간호사 김은화.
제3장 C 프로그래밍 환경.
05. gcc, make, gdb.
Q & A (사실상 혼인·이혼) Q. 사실상 혼인·이혼 관계를 어떻게 처리해야 하나요?   사실 혼인·이혼은 부부 모두 동의 여부를 확인하고, 자녀, 이·통·반장으로부터 「사실(이)혼 확인서」를 징구해야 합니다. 만약 어느 한쪽이 동의하지 않는 경우는.
6 레이스 컨디션.
메탄 하이드레이트 활용 방법과 기술 환경공학과 천대길.
리눅스 실습 정성훈.
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
RM1도입시 기대효과 RM1활용사례 기업경영의 가장 주요한 활동은 “신규영업활동”과 “거래처부실방지”입니다.
Makefile의 이해 ㈜FALinux 박진호.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
임베디드 프로그래밍 Lecture #
디바이스 드라이버.
공학기초설계 Youn-Hee Han 강의 소개 & MinGW & gcc 공학기초설계 Youn-Hee Han
1 유닉스 시스템 프로그래밍 개요.
제9장 C 프로그래밍 환경 창병모
제5장 제어명령
C언어: 배열 (Arrays).
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
Autokey Cipher 자동키 암호 Department of Cyber Security / 박건주.
작 성 자: 김선영 메 일: sunyzero (at) gmail (dot) com 버 전: 1.30
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
MicroC/OS-II Lab. 경희대학교 컴퓨터공학과 조 진 성.
Autotools Autoconf, automake Further Study
Geek OS.
25장. 메모리 관리와 동적 할당.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
Step Motor Device Driver
운영체제 허상복 컴퓨터시스템 연구실
18장. 헤더 파일과 구현 파일 01_ 헤더 파일과 구현 파일의 사용.
Chapter 10. 포인터.
제 6 장 8086 어셈블러 설계.
Geek-OS Project 정영진
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수.
UniSQL/X 실습과제 (1) ■ 실습 기간: ~
커널 모듈 프로그래밍 (Kernel Module Programming)
HBE-SMIII-SV210 리눅스 커널과 디바이스 드라이버
손에 잡히는 vim (3/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
Linux/UNIX Programming
친구들과 함께 힘을 모아요. 차이와 다양성 교육 / 목표달성을 위한 협력 본 연구물은 학교 수업을 위해 개발된 것으로
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
제 11 장 전처리기.
adopted from KNK C Programming : A Modern Approach
제 장 학습내용 C 언어에서의 인터럽트 사용 레지스터를 위한 자료구조 인터럽트를 수행하기 위한 명령어
문자 디바이스 드라이버 임베디드 시스템.
Makefile의 이해 ㈜FALinux 박진호.
Kernel Programming Environment
노인 자원봉사 학 과 명 : 사회복지과 교 과 명 : 자원봉사론 담당 교수 : 한경리교수님
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
작은 분야의 일을 훌륭하게 해내는 자그마한 도구들을 개발자들에게 제공하고 개발자들은 이 도구들을 창의적으로 결합하여 사용하자.
운영체제 RaspberryPi Sejin Oh.
비주얼 프로그래밍 1분반 화/목.
Stepper Motor 디바이스 드라이버
Lecture Notes on Computer Networks 주 홍 택 컴퓨터공학과 계명대학교
제9장 C 프로그래밍 환경 TOPCIT (Test of Practical Competency in IT)
시스템 인터페이스 Lab2 X-window 및 명령어 사용.
U N I X 창원대학교 전자계산학과 김병찬.
18장. 다차원 배열 그리고 포인터.
마음의 성전이 더 아름다운 조촌교회.
1.비 사업용(자가용 및 관용) 차 종 적 용 상 의 구 분 승합 자동차 (버스) 1 종
『CLEAN 사업장』조성사업 추진현황 한 국 산 업 안 전 공 단 부 산 지 역 본 부 - (주)은창티엔씨 -
농원 사업계획서.
수학8가 대한 108~110 쪽 Ⅴ. 부등식 2. 일차부등식 §1.일차부등식의 풀이(5/10) 일차부등식의 풀이.
화 학 반 응 식 고 결.
한국 휴렛팩커드/고객지원사업본부/IT 기술사업부 박기영
3b장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
C프로그래밍 도구 컴퓨터공학과 강성인.
이성준 Library 만들기 이성준
Presentation transcript:

Makefile 2000. 03. 25.

make utility의 필요성 다수의 소스파일 컴파일 소스간의 의존성 자동으로 인식하여 컴파일

make의 옵션과 파라미터 용법 ] 옵션 ] make Makefile or make makefile n : 가상으로 동작을 실행 f <filename> : Makefile 또는 makefile 외의 make파일 지정 p : 내장 매크로 보기

Makefile myapp: main.o 2.o 3.o gcc –o myapp main.o 2.o 3.o main.o: main.c a.h gcc –c main.c 2.o: 2.c a.h b.h gcc –c 2.c 3.o: 3.c b.h c.h

예제 소스 /* main.c */ #include "a.h" #include <stㅇdlib.h> extern void function_two(); extern void function_three(); int main() { function_two(); function_three(); exit(EXIT_SUCCESS); } /* 2.c */ #include "a.h" #include "b.h" void function_two() { } /* 3.c */ #include "c.h" void function_three() {

내부 매크로 $@ : 현재 대상의 이름 $< : 현재 필수 조건의 이름 $* : 확장자 제외한 현재 필수조건 $@ : 현재 대상의 이름 $< : 현재 필수 조건의 이름 $* : 확장자 제외한 현재 필수조건 - : make로 하여금 에러 무시 @ : make가 에러출력 하지 않게함

all: myapp CC = gcc INSTDIR = /usr/local/bin INCLUDE = all: myapp CC = gcc INSTDIR = /usr/local/bin INCLUDE = . CFLAGS = -g –Wall –ansi myapp: main.o 2.o 3.o $(CC) –o myapp main.o 2.o 3.o main.o: main.c a.h $(CC) –I$(INCLUDE) $(CFLAGS) –c main.c 2.o: 2.c a.h b.h $(CC) –IS(INCLUDE) $(CFLAGS) –c 2.c 3.o: 3.c b.h c.h $(CC) –IS(INCLUDE) $(CFLAGS) –c 3.c clean: -rm main.o 2.o 3.o install: myapp @if [ -d $(INSTDIR) ]; \ then \ cp myapp $(INSTDIR) ; \ chmod a+x $(INSTDIR) /myapp; \ chmod og-w $(INSTDIR) /myapp; \ echo “Installed in $INSTDIR)”; \ else \ echo “Sorry, $(INSTDIR) does not exist”; \ fi