summaryrefslogtreecommitdiff
path: root/test/Makefile
blob: 532a43aabf6baf899ce90f9e19c555a9c32a8045 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Makefile for uClibc
#
# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#

top_srcdir=../
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)$(ARCH_USE_MMU),yy)
	DIRS := $(filter-out pthread,$(DIRS))
endif
ifneq ($(UCLIBC_HAS_FLOATS),y)
	DIRS := $(filter-out math,$(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 ($(HAVE_SHARED)$(UCLIBC_HAS_THREADS_NATIVE),yy)
	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
ifneq ($(UCLIBC_HAS_ARGP),y)
	DIRS := $(filter-out argp,$(DIRS))
endif

test check all: run

run: subdirs_run

gen:
	-rm -f $(top_builddir)/test/uclibcng-testrunner.in
	$(MAKE) run UCLIBCNG_GENERATE_TESTRUNNER=1

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

subdirs: $(patsubst %, _dir_%, $(DIRS))
subdirs_compile: $(patsubst %, _dircompile_%, $(DIRS))
subdirs_run: $(patsubst %, _dirrun_%, $(DIRS))
subdirs_clean: $(patsubst %, _dirclean_%, $(ALL_SUBDIRS))

$(patsubst %, _dir_%, $(DIRS)) : dummy
	$(Q)$(MAKE) -C $(patsubst _dir_%, %, $@) \
		KCONFIG_CONFIG=$(KCONFIG_CONFIG)

$(patsubst %, _dirrun_%, $(DIRS)) : dummy
	$(Q)$(MAKE) -C $(patsubst _dirrun_%, %, $@) run \
		UCLIBCNG_TEST_SUBDIR=$(strip $(patsubst _dirrun_%, %, $@)) \
		KCONFIG_CONFIG=$(KCONFIG_CONFIG)

$(patsubst %, _dircompile_%, $(DIRS)) : dummy
	$(Q)$(MAKE) -C $(patsubst _dircompile_%, %, $@) compile \
		KCONFIG_CONFIG=$(KCONFIG_CONFIG)

$(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
	$(Q)$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean

.PHONY: all check clean dummy subdirs_compile subdirs_run subdirs subdirs_clean test run compile