OSDN Git Service

buildsys: remove surplus slashes from test dir paths
[uclinux-h8/uClibc.git] / test / Makefile
index f38e42d..e34c295 100644 (file)
@@ -1,58 +1,76 @@
 # Makefile for uClibc
 #
-# Copyright (C) 2000,2001 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
 #
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Library General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your option) any
-# later version.
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
-# details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-TOPDIR=../
--include $(TOPDIR).config
-
-.EXPORT_ALL_VARIABLES:
-
-
-ALL_SUBDIRS = args assert ctype pwd_grp signal silly stdlib string unistd crypt #misc
-DIRS = $(ALL_SUBDIRS)
-#ifeq ($(TARGET_ARCH), $(NATIVE_ARCH))
-#      DIRS = $(ALL_SUBDIRS)
-#else
-#      DIRS =
-#endif
-ifeq ($(strip $(HAVE_SHARED)),true)
-  ifeq ($(strip $(DODYNAMIC)),true)
-       DIRS += ldso
-  endif        
-endif  
-ifeq ($(strip $(INCLUDE_THREADS)),true)
-    DIRS += pthread
-endif  
-
-all: subdirs
+
+top_builddir=../
+include Rules.mak
+
+ALL_SUBDIRS := $(patsubst %/Makefile,%,$(wildcard */Makefile))
+
+DIRS := $(ALL_SUBDIRS)
+ifneq ($(HAVE_SHARED)$(UCLIBC_HAS_THREADS),yy)
+       DIRS := $(filter-out dlopen,$(DIRS))
+endif
+ifneq ($(findstring -static,$(LDFLAGS)),)
+       DIRS := $(filter-out dlopen,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_THREADS),y)
+       DIRS := $(filter-out pthread,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_FULL_RPC),y)
+       DIRS := $(filter-out rpc,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_REGEX),y)
+       DIRS := $(filter-out regex,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+       DIRS := $(filter-out tls nptl,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_WCHAR),y)
+       DIRS := $(filter-out locale-mbwc,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_LOCALE),y)
+       DIRS := $(filter-out locale,$(DIRS))
+endif
+ifneq ($(UCLIBC_HAS_CRYPT_IMPL),y)
+       DIRS := $(filter-out crypt,$(DIRS))
+endif
+ifeq ($(HAS_NO_THREADS),y)
+       DIRS := $(filter-out pthread,$(DIRS))
+endif
+
+test check all: run
+
+run: compile subdirs_run
+
+compile: $(top_builddir)$(LOCAL_INSTALL_PATH) subdirs_compile
+
+$(top_builddir)$(LOCAL_INSTALL_PATH):
+       $(Q)$(MAKE) -C $(top_builddir) $(LOCAL_INSTALL_PATH)
 
 tags:
        ctags -R
-       
+
 clean: subdirs_clean
-       rm -f *.[oa] *~ core
 
 subdirs: $(patsubst %, _dir_%, $(DIRS))
+subdirs_compile: $(patsubst %, _dircompile_%, $(DIRS))
+subdirs_run: $(patsubst %, _dirrun_%, $(DIRS))
 subdirs_clean: $(patsubst %, _dirclean_%, $(ALL_SUBDIRS))
 
 $(patsubst %, _dir_%, $(DIRS)) : dummy
-       $(MAKE) -C $(patsubst _dir_%, %, $@)
+       $(Q)$(MAKE) -C $(patsubst _dir_%, %, $@)
+
+$(patsubst %, _dirrun_%, $(DIRS)) : dummy
+       $(Q)$(MAKE) -C $(patsubst _dirrun_%, %, $@) run
+
+$(patsubst %, _dircompile_%, $(DIRS)) : dummy
+       $(Q)$(MAKE) -C $(patsubst _dircompile_%, %, $@) compile
 
-$(patsubst %, _dirclean_%, $(ALL_SUBDIRS) ldso) : dummy
-       $(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
+$(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
+       $(Q)$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
 
-.PHONY: dummy
+.PHONY: all check clean dummy subdirs_compile subdirs_run subdirs subdirs_clean test run compile