나는 메이크 define write_file
for i in $(seq 1 10)
do
echo "1234567" >> "tmp/test.txt"
done
endef
그리고 pre:
mkdir -p exe tmp
${call write_file}
그러나에 함수를 정의 I make pre, 나는 오류가 왔을 때 : m
내가 내 메이크에서이 규칙이 작동하지 않는, 작동하지만 는 그것을 찾지 못했습니다합니다이 그들을 사용 만들, $(BUILDDIR)%.o : $(BUILDDIR)%.bin
@echo
$(OBJCOPY) -I binary -O elf32-avr --redefine-sym _binary_$*_bin_start=$* --redefine-sym _
makefile에는 실행 파일 (.elf 파일)을 만들기 위해 모든 객체 및 라이브러리 파일을 연결하는 하나의 레시피가 있습니다. 부작용으로,이 단계는지도 파일 및 인텔 .HEX 파일을 생성합니다, 지금까지 $(ELF_FILE) : <list of dependencies here>
<linker command line>
을 우리가 실제로 어느
특정 경로 아래의 모든 디렉토리 목록을 가져 와서 dir 이름을 추출하고 문자열에 연결하는 makefile 코드를 작성해야합니다. 는 지금까지 list-dir:
for dir in $(wildcard mypath/*/); do \
echo $$dir ; \
done
입니다 무슨 그러나 이것은 예를 들어, 전체 디렉토리 경로를
저는 우분투 16.04에서 안드로이드를 만들고 있습니다. 16.04에서 작동하는 빌드를 얻으려면 make 3.81이 필요합니다. dpkg를 통해 이전 버전을 설치했습니다. sudo dpkg -i ~/Downloads/make_3.81-8.2ubuntu3_amd64.deb
하지만 지금은 make가 다시 혼자서 버전 4.1로 되돌아갑니다. 이 일이 재부팅되
을 생성 나는 메이크 [[email protected] 415]$ make --version GNU Make 3.81 내가 3 파일이 디렉토리 체세포가이 버전이있다. 나는 하나의 산출물만을 생산하려고합니다. 이것은 내가 쓴 것입니다. `이 스크립트 ` OUTSOMATIC=SOMATIC
FINAL=FINAL
INPUT=$(wildcard $(OUTSOMA
이상한 문제가 있습니다. 나는 지난 4 주 동안 GNU make를 이전에 아무런 문제없이 사용 해왔다. 내 make 파일을 avr 툴체인으로 향하게하여 ATMEL 프로세서 용으로 컴파일합니다. 며칠 전 GNU는 작동을 멈췄습니다. 내가 make를 실행하면 나는 다음과 같은 출력을 얻을 : make (e=-1): Error -1
make: *** [
디렉터리 목록에있는 모든 헤더 파일을 재귀 적으로 찾아야합니다. 나는 명령을 제대로 벗어나는 방법을 알아낼 수 없다. 나는 주변을 수색하고 메이크 파일에서 탈출에 대한 다양한 정보를 찾았지만이 문제를 해결할 수 없었다. INCLUDE_PATHS ?= path1 path2 path3
MY_HEADERS := $(shell find $(INCLUDE_PATH
나는 소스 파일 (makefile 이름 파일 예) 만들기 규칙 파일을 제외한 모든 파일을 제거 make을 원하는, 그래서 난 내 makefile의 끝에서 가짜 규칙을 추가 : .PHONY:clean
clean:
$(shell ls | grep -v "[.][ch]" | grep -v makefile | xargs rm)
이 무엇을 수행 I