mklibs.mk 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. ######################################################################
  2. #
  3. # mklibs
  4. #
  5. ######################################################################
  6. MKLIBS_PROGRAM:=$(STAGING_DIR)/bin/mklibs.py
  7. $(MKLIBS_PROGRAM): toolchain/mklibs/mklibs.py
  8. cp -dpf toolchain/mklibs/mklibs.py $@
  9. mklibs-clean:
  10. rm -f $(MKLIBS_PROGRAM)
  11. mklibs-dirclean:
  12. true
  13. #############################################################
  14. #
  15. # Run mklibs
  16. #
  17. #############################################################
  18. MKLIBS_PYTHON:=$(shell which python)
  19. ifeq ($(MKLIBS_PYTHON),)
  20. MKLIBS_PYTHON=/usr/bin/python
  21. endif
  22. $(STAGING_DIR)/mklibs-stamp: $(MKLIBS_PROGRAM) $(MKLIBS_PYTHON) $(STAGING_DIR)/lib/*
  23. find $(TARGET_DIR) -type f -perm +100 -exec \
  24. file -r -N -F '' {} + | \
  25. awk ' /executable.*dynamically/ { print $$1 }' > $(STAGING_DIR)/mklibs-progs
  26. cd $(TARGET_DIR); PATH=$(PATH):$(STAGING_DIR)/bin $(MKLIBS_PYTHON) $(MKLIBS_PROGRAM) \
  27. --target $(REAL_GNU_TARGET_NAME) --root $(STAGING_DIR) -d ./ \
  28. `cat $(STAGING_DIR)/mklibs-progs`
  29. touch $@
  30. # this empty target allows a mklibs dependeny to be included in the
  31. # target targets, but it will be only invoked if BR2_MKLIBS is conf'ed
  32. .PHONY: mklibs
  33. mklibs:
  34. #############################################################
  35. #
  36. # Toplevel Makefile options
  37. #
  38. #############################################################
  39. ifeq ($(BR2_MKLIBS),y)
  40. mklibs: $(STAGING_DIR)/mklibs-stamp
  41. endif