1 .PHONY
: all all_32 all_64 check_build32
clean run_tests
3 TARGETS_C_BOTHBITS
:= sigreturn single_step_syscall
5 BINARIES_32
:= $(TARGETS_C_BOTHBITS
:%=%_32
)
6 BINARIES_64
:= $(TARGETS_C_BOTHBITS
:%=%_64
)
8 CFLAGS
:= -O2
-g
-std
=gnu99
-pthread
-Wall
10 UNAME_P
:= $(shell uname
-p
)
12 # Always build 32-bit tests
15 # If we're on a 64-bit host, build 64-bit tests as well
16 ifeq ($(shell uname
-p
),x86_64
)
20 all_32
: check_build32
$(BINARIES_32
)
22 all_64
: $(BINARIES_64
)
25 $(RM
) $(BINARIES_32
) $(BINARIES_64
)
30 $(TARGETS_C_BOTHBITS
:%=%_32
): %_32
: %.c
31 $(CC
) -m32
-o
$@
$(CFLAGS
) $(EXTRA_CFLAGS
) $^
-lrt
-ldl
33 $(TARGETS_C_BOTHBITS
:%=%_64
): %_64
: %.c
34 $(CC
) -m64
-o
$@
$(CFLAGS
) $(EXTRA_CFLAGS
) $^
-lrt
-ldl
37 @if
! $(CC
) -m32
-o
/dev
/null trivial_32bit_program.c
; then \
38 echo
"Warning: you seem to have a broken 32-bit build" 2>&1; \
39 echo
"environment. If you are using a Debian-like"; \
40 echo
" distribution, try:"; \
42 echo
" apt-get install gcc-multilib libc6-i386 libc6-dev-i386"; \
44 echo
"If you are using a Fedora-like distribution, try:"; \
46 echo
" yum install glibc-devel.*i686"; \