목차
- 리눅스 Makefile 문법 install, uninstall 명령 만들기 이전 포스팅 참고 학습
- 리눅스 Makefile 문법 C 소스코드 컴파일 및 정적 라이브러리 만들기 이전 포스팅 참고 학습
- 리눅스 vim 명령어 활용하기 이전 포스팅 참고 학습
- 리눅스 Makefile 문법 간단한 출력 C main.c 소스코드 작성 예제
- 리눅스 Makefile 문법 컴파일시 실행 파일 생성 디렉토리 지정 문법 작성 예제
리눅스 Makefile 문법 install, uninstall 명령 만들기 이전 포스팅 참고 학습
이전 포스팅에서는 Makefile을 통해 프로그램을 설치하고 삭제하기 위한 install 및 uninstall 명령어를 작성하는 방법을 학습하였습니다. 이를 통해 소프트웨어 관리를 효과적으로 할 수 있습니다. 특히 컴파일되어 만들어진 실행 파일을 특정 디렉토리에 복사하는 install 명령은 사용자가 설치할지 안할지를 결정할 수 있도록 합니다. 그리고 더 이상 필요없어진 실행 파일을 uninstall 명령으로 삭제가 가능합니다. 리눅스에서 Makefile로 install, uninstall 명령 만드는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.18 - [Linux] - [Linux/C] 리눅스 Makefile 문법 install, make, uninstall 명령 만들기 예제(Make)
리눅스 Makefile 문법 C 소스코드 컴파일 및 정적 라이브러리 만들기 이전 포스팅 참고 학습
이전 포스팅에서는 Makefile 문법을 활용하여 C 소스 코드를 컴파일하고 정적 라이브러리를 생성하는 방법을 학습하였습니다. 소스 코드를 모듈화하고 재사용 가능한 라이브러리 생성 예제입니다. 동적 라이브러리도 유용하지만 소스 코드가 실제 내 프로그램에 포함되어 컴파일되는 정적 라이브러리 만들기 예제가 포함되어있습니다. 따라서 리눅스에서 Makefile 문법으로 C 소스코드를 컴파일하여 정적라이브러리 만드는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.18 - [C] - [Linux/C] 리눅스 Makefile 문법 C 컴파일 및 정적 라이브러리 생성 예제(Make, Static Library)
리눅스 vim 명령어 활용하기 이전 포스팅 참고 학습
마지막으로 이전 포스팅에서는 Vim 편집기의 다양한 명령어와 기능을 활용하는 방법을 학습하였습니다. Vim은 텍스트 편집기로, 효율적인 편집 및 코드 작성을 지원합니다. 특히 리눅스와 같은 UI가 효율적이지 않은 운영체제에서는 터미널을 많이 접하게 됩니다. 이 터미널에서 쉽게 텍스트 에디트를 수행할 수 있는 도구입니다. vim 은 : 명령을 통해 저장, 읽기, 수정, 삭제 등이 가능합니다. 리눅스에서 vim 명령 활용 예제가 궁금하시다면 아래 링크를 참고해주세요.
2023.07.20 - [Linux/OS] - [Linux] vim 명령어 활용 - 2(검색 및 치환)
리눅스 Makefile 문법 간단한 출력 C main.c 소스코드 작성 예제
아래는 Makefile을 사용하여 간단한 ""Hello, Makefile!""과 같은 출력을 수행하는 C의 main.c 소스 코드를 작성하는 예제입니다. 이 C 소스 코드를 활용하여 아래 예제에서 특정 디렉토리에 실행 파일이 생성되도록 예제를 실행해보도록 하겠습니다.
// main.c
#include <stdio.h>
int main() {
printf("my name is, ppp oh~\n");
return 0;
}
리눅스 Makefile 문법 컴파일시 실행 파일 생성 디렉토리 지정 문법 작성 예제
아래는 Makefile을 수정하여 컴파일된 실행 파일이 원하는 디렉토리에 생성되도록 하는 방법과 예제입니다. 이는 빌드된 실행 파일을 특정 위치로 관리하는 데 유용합니다.
# Makefile
CC = gcc
CFLAGS = -Wall
TARGET = myprogram
SOURCES = main.c
BIN_DIR = /tmp/ttmp
all: $(BIN_DIR)/$(TARGET)
$(BIN_DIR)/$(TARGET): $(SOURCES)
mkdir -p $(BIN_DIR)
$(CC) $(CFLAGS) -o $@ $(SOURCES)
clean:
rm -rf $(BIN_DIR)