본문 바로가기
반응형

makefile5

CMake + Ninja로 STM32 프로젝트 빌드 성능 비교 CMake + Ninja로 STM32 프로젝트 빌드 성능 비교1. CMake로 STM32(arm-none-eabi) 프로젝트를 관리할 때2. 빌드 툴로 Make와 Ninja 중 무엇을 쓸지 고민되는 경우가 많음3. 두 방식의 실제 속도와 사용성을 실전 로그와 함께 비교🛠️ 테스트 환경 및 세팅프로젝트: STM32F746 + FreeRTOS + C++ (core, drivers, middlewares 포함)Toolchain: arm-gnu-toolchain-14.3 (Darwin/arm64)CMake: toolchain 파일 사용Build 시스템:Unix Makefiles (cmake .. && cmake --build .)Ninja (cmake -G Ninja .. && ninja)테스트 명령어:vsr.. 2025. 7. 14.
임베디드 빌드 시스템 (Makefile, CMake, Ninja) 임베디드 빌드 시스템: Makefile, CMake, Ninja의 현업 트렌드임베디드 소프트웨어 개발에서는 Makefile, CMake, Ninja 세 가지 빌드 시스템이 가장 널리 쓰임각 빌드 시스템은 개발 환경, 프로젝트 규모, 협업 방식 등에 따라 선택이 달라지지만, 최근 트렌드의 큰 흐름이 있음이 문서에서는 임베디드에서의 각 도구의 역할, 장단점, 그리고 현업에서의 주력 사용 양상을 정리함📝 Makefile: 임베디드의 오리지널 표준Makefile은 임베디드, 리눅스, C/C++ 기반 개발에서 가장 오래된 빌드 자동화 표준GNU Make 등으로 실행간단하고 직접적원하는 빌드 과정, 타깃, 의존성을 수동으로 명확하게 정의강점소규모, 레거시, 커스터마이즈가 필요한 임베디드 프로젝트에서 활용도가 높음.. 2025. 7. 13.
CMake vs Makefile CMake와 Makefile의 차이점과 선택 기준CMake와 Makefile은 모두 소프트웨어 개발에서 반복적인 빌드 작업을 자동화하는 데 사용됨CMake는 빌드 스크립트를 자동으로 생성해주는 “메타 빌드 시스템”, Makefile은 빌드 과정을 직접 정의하는 “전통적인 빌드 스크립트”프로젝트 규모, 협업 환경, 지원하는 플랫폼/IDE 등에 따라 두 도구의 선택이 달라질 수 있음아래에서는 CMake와 Makefile의 개념, 특징, 주요 사용 사례, 그리고 장단점을 비교📝 CMake vs Makefile의 기본 개념CMakeCMake는 크로스 플랫폼 빌드 자동화 도구 생성기사용자가 작성한 CMakeLists.txt를 바탕으로, 각 운영체제와 IDE에 맞는 빌드 파일(예: Makefile, Visual .. 2025. 7. 12.
Makefile 정리 Makefile이란 무엇이며, 왜 사용하는가?Makefile은 소프트웨어 프로젝트의 빌드 자동화를 위해 사용하는 파일주로 make라는 빌드 도구와 함께 사용되며, 컴파일, 링크, 테스트, 배포 등 반복 작업을 자동으로 처리C, C++ 등 컴파일 언어에서 가장 오래되고 널리 쓰이는 빌드 시스템아래에서는 Makefile의 개념과 주요 사용 이유에 대해 살펴봄📝 Makefile의 기본 개념1. Makefile은 반복적인 개발 작업(빌드, 테스트, 설치 등)을 자동화하는 데 사용2. 프로젝트 내의 파일 의존성과 빌드 명령어를 명시적으로 지정해 줌3. 대형 프로젝트에서 소스 파일이 많아질 때 관리가 훨씬 용이해짐Make: 유닉스 계열 시스템에서 널리 사용되는 빌드 자동화 도구Makefile: make가 읽어서 .. 2025. 7. 10.
Build System 정리 언어별 빌드 시스템, 요즘 주류 트렌드빌드 시스템은 소프트웨어 개발에서 코드 컴파일·테스트·배포 등의 작업을 자동화하는 핵심 도구Makefile, CMake 외에도 언어와 환경에 따라 다양한 빌드 도구가 존재최근 현업에서는 협업·대형 프로젝트·크로스플랫폼 지원 등으로 인해 새로운 도구들이 많이 사용됨아래에서는 대표적인 빌드 시스템의 종류와 최근 현업 트렌드를 정리함📝 대표적인 빌드 시스템 종류C/C++ 계열CMake크로스플랫폼 빌드 자동화의 표준.다양한 OS/IDE 지원, 대형 오픈소스 및 기업 프로젝트에서 많이 사용Makefile(GNU Make)전통적 빌드 자동화, 리눅스/임베디드/소규모 프로젝트에서 여전히 널리 사용Ninja빌드 속도가 매우 빠름.보통 CMake의 백엔드 빌드 도구로 많이 쓰임(c.. 2025. 7. 9.
반응형