개발용 도구
GNU make 4.3
GNU make 4.3은 많은 결점 수정, 새로운 기능과 성능 향상을 포함합니다.
하위-비호환성
버전 3.8을 만들기 위한 호환성 패치가 페도라가 다른 배포판과 동일하게 만드는 것으로 이번 출시에서 제거되었습니다.
|
GNU make의 오래된 버전에(우리가 제거하려는 3.8용 호환성 패치를 포함) 특정한 makefile 기능에 의존하는 꾸러미 소유자는 FTBFS를 사용 할 수 있으며 이들 Makefile을 조정해야 합니다. 이와 같은 향상 이전에 제작된 꾸러미는 영향을 받지 않습니다. |
특정 이전 버전 비호환성:
* 경고: 하위-비호환성!
Number signs (#) appearing inside a macro reference or function invocation
no longer introduce comments and should not be escaped with backslashes:
thus a call such as:
foo := $(shell echo '#')
is legal. Previously the number sign needed to be escaped, for example:
foo := $(shell echo '\#')
Now this latter will resolve to "\#". If you want to write makefiles
portable to both versions, assign the number sign to a variable:
H := \#
foo := $(shell echo '$H')
This was claimed to be fixed in 3.81, but wasn't, for some reason.
To detect this change search for 'nocomment' in the .FEATURES variable.
* 경고: 하위-비호환성!
Previously appending using '+=' to an empty variable would result in a value
starting with a space. Now the initial space is only added if the variable
already contains some value. Similarly, appending an empty string does not
add a trailing space.
신규 기능
-
그룹화된 명시적 대상 유형 규칙은 레시피를 한 번만 호출하여 여러 대상을 생성 할 수 있는 기능을 항상 갖고 있었습니다. 이는 이제 명시적 규칙이 단일 호출로 여러 대상을 생성한다고 선언 할 수 있습니다. 이렇게 사용하려면, 규칙에서 `&:`를 갖는 `:`토큰을 교체합니다. 이와 같은 기능을 감지하려면 .FEATURES 특수 변수에서 'grouped-target’을 위해 검색하세요.
-
이와 같은 변수에서 .EXTRA_PREREQS 변수 단어는 대상의 전제 조건으로 간주되지만 이들은 레시피를 확장 할 때에 자동 변수 값에 추가되지 않습니다. 이와 같은 변수는 전역(모든 대상에 적용) 또는 대상-지역별 변수일 수 있습니다. 이와 같은 기능을 감출하려면
.FEATURES특수 변수에서 `extra-prereqs`를 검색하세요. -
Makefile은 이제 이들 MAKEFLAGS 변수에서
-j옵션을 지정 할 수 있고 이는 make를 그와 같은 병렬 방식을 활성화 할 수 있습니다. -
GNU make는 이제 사용 가능한 시스템에서
posix_spawn()`을 사용합니다. 만약 당신은 posix_spawn()이 존재하는 시스템에서도 fork/exec를 사용하려는 경우라면, 당신은 구성하는데 `--disable-posix-spawn옵션을 사용 할 수 있습니다. -
존재하지 않는 명령을 호출 할 때에 출력되는 오류 메시지는 정리되고 일관성 있게 유지되어 있습니다.
-
신규 옵션
`--no-silent`가 추가되었으며, 이는 `-s/--silent/--quiet플래그의 영향을 취소합니다. -
신규 옵션 `-E`는 `--evel`을 위한 짧은 별칭으로 추가되었습니다.
-
최신 GNU libc와 musl C 동작시간 라이브러리와 함께 상호 운용합니다.
이 출시에 대하여 보다 자세한 정보는업스트림 출시 발표를 참고하세요.
결점 수정됨
이 버전에서 수정된 결점의 전체 목록은 make - Bugs에서 사용 할 수 있습니다
Want to help? Learn how to contribute to Fedora Docs ›