Makefile 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # Makefile for uClibc
  2. #
  3. # Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
  4. #
  5. # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  6. #
  7. top_builddir=../
  8. include Rules.mak
  9. ALL_SUBDIRS := $(patsubst %/Makefile,%,$(wildcard */Makefile))
  10. DIRS := $(ALL_SUBDIRS)
  11. ifneq ($(HAVE_SHARED)$(UCLIBC_HAS_THREADS),yy)
  12. DIRS := $(filter-out dlopen,$(DIRS))
  13. endif
  14. ifneq ($(findstring -static,$(LDFLAGS)),)
  15. DIRS := $(filter-out dlopen,$(DIRS))
  16. endif
  17. ifneq ($(UCLIBC_HAS_THREADS),y)
  18. DIRS := $(filter-out pthread,$(DIRS))
  19. endif
  20. ifneq ($(UCLIBC_HAS_FULL_RPC),y)
  21. DIRS := $(filter-out rpc,$(DIRS))
  22. endif
  23. ifneq ($(UCLIBC_HAS_REGEX),y)
  24. DIRS := $(filter-out regex,$(DIRS))
  25. endif
  26. ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
  27. DIRS := $(filter-out tls nptl,$(DIRS))
  28. endif
  29. ifneq ($(UCLIBC_HAS_WCHAR),y)
  30. DIRS := $(filter-out locale-mbwc,$(DIRS))
  31. endif
  32. ifneq ($(UCLIBC_HAS_LOCALE),y)
  33. DIRS := $(filter-out locale,$(DIRS))
  34. endif
  35. ifneq ($(UCLIBC_HAS_CRYPT),y)
  36. DIRS := $(filter-out crypt,$(DIRS))
  37. endif
  38. ifeq ($(HAS_NO_THREADS),y)
  39. DIRS := $(filter-out pthread,$(DIRS))
  40. endif
  41. test check all: run
  42. run: compile subdirs_run
  43. compile: $(top_builddir)/$(LOCAL_INSTALL_PATH) subdirs_compile
  44. $(top_builddir)/$(LOCAL_INSTALL_PATH):
  45. $(Q)$(MAKE) -C $(top_builddir) $(LOCAL_INSTALL_PATH)
  46. tags:
  47. ctags -R
  48. clean: subdirs_clean
  49. subdirs: $(patsubst %, _dir_%, $(DIRS))
  50. subdirs_compile: $(patsubst %, _dircompile_%, $(DIRS))
  51. subdirs_run: $(patsubst %, _dirrun_%, $(DIRS))
  52. subdirs_clean: $(patsubst %, _dirclean_%, $(ALL_SUBDIRS))
  53. $(patsubst %, _dir_%, $(DIRS)) : dummy
  54. $(Q)$(MAKE) -C $(patsubst _dir_%, %, $@)
  55. $(patsubst %, _dirrun_%, $(DIRS)) : dummy
  56. $(Q)$(MAKE) -C $(patsubst _dirrun_%, %, $@) run
  57. $(patsubst %, _dircompile_%, $(DIRS)) : dummy
  58. $(Q)$(MAKE) -C $(patsubst _dircompile_%, %, $@) compile
  59. $(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
  60. $(Q)$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
  61. .PHONY: all check clean dummy subdirs_compile subdirs_run subdirs subdirs_clean test run compile