3 # Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
5 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
11 ALL_SUBDIRS := $(patsubst %/Makefile,%,$(wildcard */Makefile))
13 DIRS := $(ALL_SUBDIRS)
14 ifneq ($(HAVE_SHARED)$(UCLIBC_HAS_THREADS),yy)
15 DIRS := $(filter-out dlopen,$(DIRS))
17 ifneq ($(findstring -static,$(LDFLAGS)),)
18 DIRS := $(filter-out dlopen,$(DIRS))
20 ifneq ($(UCLIBC_HAS_THREADS),y)
21 DIRS := $(filter-out pthread,$(DIRS))
23 ifneq ($(UCLIBC_HAS_FULL_RPC),y)
24 DIRS := $(filter-out rpc,$(DIRS))
26 ifneq ($(UCLIBC_HAS_REGEX),y)
27 DIRS := $(filter-out regex,$(DIRS))
29 ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
30 DIRS := $(filter-out tls nptl,$(DIRS))
32 ifneq ($(UCLIBC_HAS_WCHAR),y)
33 DIRS := $(filter-out locale-mbwc,$(DIRS))
35 ifneq ($(UCLIBC_HAS_LOCALE),y)
36 DIRS := $(filter-out locale,$(DIRS))
38 ifneq ($(UCLIBC_HAS_CRYPT_IMPL),y)
39 DIRS := $(filter-out crypt,$(DIRS))
41 ifeq ($(HAS_NO_THREADS),y)
42 DIRS := $(filter-out pthread,$(DIRS))
47 run: compile subdirs_run
49 compile: $(top_builddir)/$(LOCAL_INSTALL_PATH) subdirs_compile
51 $(top_builddir)/$(LOCAL_INSTALL_PATH):
52 $(Q)$(MAKE) -C $(top_builddir) $(LOCAL_INSTALL_PATH)
59 subdirs: $(patsubst %, _dir_%, $(DIRS))
60 subdirs_compile: $(patsubst %, _dircompile_%, $(DIRS))
61 subdirs_run: $(patsubst %, _dirrun_%, $(DIRS))
62 subdirs_clean: $(patsubst %, _dirclean_%, $(ALL_SUBDIRS))
64 $(patsubst %, _dir_%, $(DIRS)) : dummy
65 $(Q)$(MAKE) -C $(patsubst _dir_%, %, $@)
67 $(patsubst %, _dirrun_%, $(DIRS)) : dummy
68 $(Q)$(MAKE) -C $(patsubst _dirrun_%, %, $@) run
70 $(patsubst %, _dircompile_%, $(DIRS)) : dummy
71 $(Q)$(MAKE) -C $(patsubst _dircompile_%, %, $@) compile
73 $(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
74 $(Q)$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
76 .PHONY: all check clean dummy subdirs_compile subdirs_run subdirs subdirs_clean test run compile