rules.mk 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(TOPDIR)/prereq.mk
  4. -include $(TOPDIR)/.config
  5. ifeq ($(VERBOSE),1)
  6. START_TRACE:= :
  7. END_TRACE:= :
  8. TRACE:= :
  9. CMD_TRACE:= :
  10. PKG_TRACE:= :
  11. MAKE_TRACE:=
  12. EXTRA_MAKEFLAGS:=
  13. SET_DASHX:= set -x
  14. else
  15. START_TRACE:= echo -n "---> "
  16. END_TRACE:= echo
  17. TRACE:= echo "---> "
  18. CMD_TRACE:= echo -n
  19. PKG_TRACE:= echo "------> "
  20. EXTRA_MAKEFLAGS:= -s
  21. MAKE_TRACE:= >/dev/null 2>&1 || { echo "Build failed. Please re-run make with v to see what's going on"; false; }
  22. SET_DASHX:= :
  23. endif
  24. # Strip off the annoying quoting
  25. ADK_TARGET:= $(strip $(subst ",, $(ADK_TARGET)))
  26. ADK_LIBC:= $(strip $(subst ",, $(ADK_LIBC)))
  27. ADK_TARGET_SUFFIX:= $(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
  28. ADK_COMPRESSION_TOOL:= $(strip $(subst ",, $(ADK_COMPRESSION_TOOL)))
  29. ifeq ($(strip ${ADK_HAVE_DOT_CONFIG}),y)
  30. ifneq ($(strip $(wildcard $(TOPDIR)/target/$(ADK_TARGET)/target.mk)),)
  31. include $(TOPDIR)/target/$(ADK_TARGET)/target.mk
  32. endif
  33. endif
  34. include $(TOPDIR)/mk/vars.mk
  35. export BASH HOSTCC HOSTCFLAGS MAKE LANGUAGE LC_ALL OStype PATH
  36. HOSTCPPFLAGS?=
  37. HOSTLDFLAGS?=
  38. TARGET_CFLAGS:= $(strip -fno-ident ${TARGET_CFLAGS})
  39. TARGET_CC:= $(strip ${TARGET_CC})
  40. TARGET_CXX:= $(strip ${TARGET_CXX})
  41. ifneq (${show},)
  42. .DEFAULT_GOAL:= show
  43. show:
  44. @$(info ${${show}})
  45. else ifneq (${dump},)
  46. __shquote= '$(subst ','\'',$(1))'
  47. __dumpvar= echo $(call __shquote,$(1)=$(call __shquote,${$(1)}))
  48. .DEFAULT_GOAL:= show
  49. show:
  50. @$(foreach _s,${dump},$(call __dumpvar,${_s});)
  51. endif