mirror of
https://gitee.com/openharmony/kernel_linux
synced 2025-04-12 12:13:51 +00:00

Kbuild conventionally uses $(shell cd ... && /bin/pwd) idiom to get the absolute path of the directory because GNU Make 3.80, the minimal supported version at that time, did not support $(abspath ...) or $(realpath ...). Commit 37d69ee30808 ("docs: bump minimal GNU Make version to 3.81") dropped the GNU Make 3.80 support, so we are now allowed to use those make-builtin helpers. This conversion will provide better portability without relying on the pwd command or its location /bin/pwd. I am intentionally using $(realpath ...) instead $(abspath ...) in some places. The difference between the two is $(realpath ...) returns an empty string if the given path does not exist. It is convenient in places where we need to error-out if the makefile fails to create an output directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Thierry Reding <treding@nvidia.com>
24 lines
564 B
Makefile
24 lines
564 B
Makefile
always := gdb-scripts
|
|
|
|
SRCTREE := $(abspath $(srctree))
|
|
|
|
$(obj)/gdb-scripts:
|
|
ifneq ($(KBUILD_SRC),)
|
|
$(Q)ln -fsn $(SRCTREE)/$(obj)/*.py $(objtree)/$(obj)
|
|
endif
|
|
@:
|
|
|
|
quiet_cmd_gen_constants_py = GEN $@
|
|
cmd_gen_constants_py = \
|
|
$(CPP) -E -x c -P $(c_flags) $< > $@ ;\
|
|
sed -i '1,/<!-- end-c-headers -->/d;' $@
|
|
|
|
targets += constants.py
|
|
$(obj)/constants.py: $(SRCTREE)/$(obj)/constants.py.in FORCE
|
|
$(call if_changed_dep,gen_constants_py)
|
|
|
|
build_constants_py: $(obj)/constants.py
|
|
@:
|
|
|
|
clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py) $(obj)/constants.py
|