1 # Rules.mak for uClibc test subdirs
3 # Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
5 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
12 TESTDIR
=$(top_builddir
)test/
14 include $(top_builddir
)/Rules.mak
15 ifndef TEST_INSTALLED_UCLIBC
17 ifeq (,$(findstring /,$(UCLIBC_LDSO
)))
18 UCLIBC_LDSO
:= $(top_builddir
)lib
/$(UCLIBC_LDSO
)
21 UCLIBC_LDSO
:= $(firstword $(wildcard $(top_builddir
)lib
/ld*))
24 #--------------------------------------------------------
25 # Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
29 ifeq ($(strip $(TARGET_ARCH
)),)
30 TARGET_ARCH
:=$(shell $(CC
) -dumpmachine | sed
-e s
'/-.*//' \
32 -e
's/sun.*/sparc/' -e
's/sparc.*/sparc/' \
33 -e
's/sa110/arm/' -e
's/arm.*/arm/g' \
35 -e
's/parisc.*/hppa/' \
36 -e
's/ppc/powerpc/g' \
37 -e
's/v850.*/v850/g' \
41 -e
's/xtensa.*/xtensa/' \
48 ifneq ($(KERNEL_HEADERS
),)
49 ifeq ($(patsubst /%,/,$(KERNEL_HEADERS
)),/)
50 # Absolute path in KERNEL_HEADERS
51 KERNEL_INCLUDES
+= -I
$(KERNEL_HEADERS
)
53 # Relative path in KERNEL_HEADERS
54 KERNEL_INCLUDES
+= -I
$(top_builddir
)$(KERNEL_HEADERS
)
58 XCOMMON_CFLAGS
:= -I
$(top_builddir
)test -D_GNU_SOURCE
59 XWARNINGS
+= $(call check_gcc
,-Wstrict-prototypes
,)
60 CFLAGS
:= -nostdinc
-I
$(top_builddir
)$(LOCAL_INSTALL_PATH
)/usr
/include
61 CFLAGS
+= $(XCOMMON_CFLAGS
) $(KERNEL_INCLUDES
) $(CC_INC
)
62 CFLAGS
+= $(OPTIMIZATION
) $(CPU_CFLAGS
) $(XWARNINGS
)
64 # Can't add $(OPTIMIZATION) here, it may be target-specific.
65 # Just adding -Os for now.
66 HOST_CFLAGS
+= $(XCOMMON_CFLAGS
) -Os
$(XWARNINGS
) -std
=gnu99
68 LDFLAGS
:= $(CPU_LDFLAGS-y
) -Wl
,-z
,now
73 HOST_LDFLAGS
+= -Wl
,-g
76 HOST_LDFLAGS
+= -Wl
,-s
79 ifneq ($(HAVE_SHARED
),y
)
80 LDFLAGS
+= -Wl
,-static
81 HOST_LDFLAGS
+= -Wl
,-static
84 LDFLAGS
+= -B
$(top_builddir
)lib
-Wl
,-rpath
,$(top_builddir
)lib
-Wl
,-rpath-link
,$(top_builddir
)lib
85 UCLIBC_LDSO_ABSPATH
=$(shell pwd
)
86 ifdef TEST_INSTALLED_UCLIBC
87 LDFLAGS
+= -Wl
,-rpath
,.
/
88 UCLIBC_LDSO_ABSPATH
=$(SHARED_LIB_LOADER_PREFIX
)
91 ifeq ($(findstring -static
,$(LDFLAGS
)),)
92 LDFLAGS
+= -Wl
,--dynamic-linker
,$(UCLIBC_LDSO_ABSPATH
)/$(UCLIBC_LDSO
)
95 ifeq ($(LDSO_GNU_HASH_SUPPORT
),y
)
96 # Check for binutils support is done on root Rules.mak
97 LDFLAGS
+= -Wl
,${LDFLAGS_GNUHASH}
101 ifneq ($(findstring -s
,$(MAKEFLAGS
)),)
106 ifneq ($(V
)$(VERBOSE
),)
117 MAKEFLAGS
+= --no-print-directory
120 banner
:= ---------------------------------
121 pur_showclean
= echo
" "CLEAN
$(notdir $(CURDIR
))
122 pur_showdiff
= echo
" "TEST_DIFF
$(notdir $(CURDIR
))/
123 pur_showlink
= echo
" "TEST_LINK
$(notdir $(CURDIR
))/ $@
124 pur_showtest
= echo
" "TEST_EXEC
$(notdir $(CURDIR
))/ $(@
:.exe
=)
130 ver_showdiff
= true echo
131 ver_showlink
= true echo
132 ver_showtest
= printf
"\n$(banner)\nTEST $(notdir $(CURDIR))/ $(@:.exe=)\n$(banner)\n"
133 do_showclean
= $($(DISP
)_showclean
)
134 do_showdiff
= $($(DISP
)_showdiff
)
135 do_showlink
= $($(DISP
)_showlink
)
136 do_showtest
= $($(DISP
)_showtest
)
137 showclean
= @
$(do_showclean
)
138 showdiff
= @
$(do_showdiff
)
139 showlink
= @
$(do_showlink
)
140 showtest
= @
$(do_showtest
)