summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/aclocal/check-atomic.m412
-rw-r--r--cpukit/configure.ac7
-rw-r--r--cpukit/rtems/Makefile.am2
-rw-r--r--cpukit/rtems/preinstall.am2
-rw-r--r--cpukit/score/Makefile.am2
-rw-r--r--cpukit/score/preinstall.am3
-rw-r--r--testsuites/smptests/configure.ac4
-rw-r--r--testsuites/smptests/smpatomic01/Makefile.am6
-rw-r--r--testsuites/smptests/smpatomic02/Makefile.am6
-rw-r--r--testsuites/smptests/smpatomic03/Makefile.am6
-rw-r--r--testsuites/smptests/smpatomic04/Makefile.am6
-rw-r--r--testsuites/smptests/smpatomic05/Makefile.am6
-rw-r--r--testsuites/smptests/smpatomic06/Makefile.am6
-rw-r--r--testsuites/smptests/smpatomic07/Makefile.am6
-rw-r--r--testsuites/sptests/configure.ac4
-rw-r--r--testsuites/sptests/spatomic01/Makefile.am4
-rw-r--r--testsuites/sptests/spatomic02/Makefile.am4
-rw-r--r--testsuites/sptests/spatomic03/Makefile.am4
-rw-r--r--testsuites/sptests/spatomic04/Makefile.am4
-rw-r--r--testsuites/sptests/spatomic05/Makefile.am4
-rw-r--r--testsuites/sptests/spatomic06/Makefile.am4
-rw-r--r--testsuites/sptests/spatomic07/Makefile.am4
22 files changed, 87 insertions, 19 deletions
diff --git a/cpukit/aclocal/check-atomic.m4 b/cpukit/aclocal/check-atomic.m4
index 97943eb768..00149f8a12 100644
--- a/cpukit/aclocal/check-atomic.m4
+++ b/cpukit/aclocal/check-atomic.m4
@@ -5,9 +5,13 @@ AC_REQUIRE([RTEMS_CANONICAL_TARGET_CPU])dnl
AC_CACHE_CHECK([whether CPU supports atomic operations],
[rtems_cv_ATOMIC],[
- AS_IF(
- [test -f "${srcdir}/score/cpu/$RTEMS_CPU/rtems/score/cpuatomic.h"],
- [rtems_cv_ATOMIC="yes"],
- [rtems_cv_ATOMIC="no"])
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <stdatomic.h>]],
+ [[atomic_uint_fast32_t t; atomic_init(&t, 0);
+ atomic_store( &t, 1 );
+ atomic_exchange( &t, 2 );
+ atomic_fetch_add( &t, 3 );]])],
+ [rtems_cv_ATOMIC="yes"],
+ [rtems_cv_ATOMIC="no"])
])
])
diff --git a/cpukit/configure.ac b/cpukit/configure.ac
index d82d30f039..f897eced5c 100644
--- a/cpukit/configure.ac
+++ b/cpukit/configure.ac
@@ -149,6 +149,7 @@ RTEMS_CHECK_MULTIPROCESSING
RTEMS_CHECK_POSIX_API
RTEMS_CHECK_NETWORKING
RTEMS_CHECK_SMP
+RTEMS_CHECK_ATOMIC
rtems_major=`echo _RTEMS_VERSION | sed "s/\..*//"`
rtems_minor=`echo _RTEMS_VERSION | sed "s/[[0-9]][[0-9]]*\.//;s/\..*//"`
@@ -186,6 +187,11 @@ RTEMS_CPUOPT([RTEMS_NETWORKING],
[1],
[if networking is enabled])
+RTEMS_CPUOPT([RTEMS_ATOMIC],
+ [test x"$rtems_cv_ATOMIC" = xyes],
+ [1],
+ [if cpu supports atomic operations])
+
RTEMS_CPUOPT([RTEMS_VERSION],
[true],
["]_RTEMS_VERSION["],
@@ -304,6 +310,7 @@ AM_CONDITIONAL(HAS_SMP,[test "$RTEMS_HAS_SMP" = "yes"])
AM_CONDITIONAL(HAS_PTHREADS,test x"$rtems_cv_HAS_POSIX_API" = x"yes")
AM_CONDITIONAL(LIBNETWORKING,test x"$rtems_cv_HAS_NETWORKING" = x"yes")
+AM_CONDITIONAL([ATOMIC],[test x"$rtems_cv_ATOMIC" = x"yes"])
AM_CONDITIONAL([LIBSHELL],[test x"$HAVE_ASSIGNABLE_STDIO" = x"yes"])
AM_CONDITIONAL([LIBSERDBG],[test x"$rtems_cv_cc_attribute_weak" = x"yes"])
diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
index a9b4ca848b..31e2c3d4be 100644
--- a/cpukit/rtems/Makefile.am
+++ b/cpukit/rtems/Makefile.am
@@ -40,7 +40,9 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/support.h
include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h
include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h
include_rtems_rtems_HEADERS += include/rtems/rtems/types.h
+if ATOMIC
include_rtems_rtems_HEADERS += include/rtems/rtems/atomic.h
+endif
include_rtems_rtems_HEADERS += mainpage.h
if HAS_MP
diff --git a/cpukit/rtems/preinstall.am b/cpukit/rtems/preinstall.am
index 8a0f780562..128d78f789 100644
--- a/cpukit/rtems/preinstall.am
+++ b/cpukit/rtems/preinstall.am
@@ -131,9 +131,11 @@ $(PROJECT_INCLUDE)/rtems/rtems/types.h: include/rtems/rtems/types.h $(PROJECT_IN
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/types.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/types.h
+if ATOMIC
$(PROJECT_INCLUDE)/rtems/rtems/atomic.h: include/rtems/rtems/atomic.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/atomic.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/atomic.h
+endif
$(PROJECT_INCLUDE)/rtems/rtems/mainpage.h: mainpage.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/mainpage.h
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am
index 82bf26d4ae..338c797a30 100644
--- a/cpukit/score/Makefile.am
+++ b/cpukit/score/Makefile.am
@@ -60,10 +60,12 @@ include_rtems_score_HEADERS += include/rtems/score/watchdog.h
include_rtems_score_HEADERS += include/rtems/score/wkspace.h
include_rtems_score_HEADERS += include/rtems/score/cpuopts.h
include_rtems_score_HEADERS += include/rtems/score/basedefs.h
+if ATOMIC
include_rtems_score_HEADERS += include/rtems/score/atomic.h
include_rtems_score_HEADERS += include/rtems/score/genericcpuatomic.h
include_rtems_score_HEADERS += include/rtems/score/genericatomicops.h
include_rtems_score_HEADERS += include/rtems/score/cpustdatomic.h
+endif
if HAS_PTHREADS
include_rtems_score_HEADERS += include/rtems/score/corespinlock.h
diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am
index 1b7955e872..a48d21eec6 100644
--- a/cpukit/score/preinstall.am
+++ b/cpukit/score/preinstall.am
@@ -223,6 +223,7 @@ $(PROJECT_INCLUDE)/rtems/score/basedefs.h: include/rtems/score/basedefs.h $(PROJ
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/basedefs.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/basedefs.h
+if ATOMIC
$(PROJECT_INCLUDE)/rtems/score/atomic.h: include/rtems/score/atomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/atomic.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/atomic.h
@@ -238,7 +239,7 @@ PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/genericatomicops.h
$(PROJECT_INCLUDE)/rtems/score/cpustdatomic.h: include/rtems/score/cpustdatomic.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/cpustdatomic.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/cpustdatomic.h
-
+endif
if HAS_PTHREADS
$(PROJECT_INCLUDE)/rtems/score/corespinlock.h: include/rtems/score/corespinlock.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corespinlock.h
diff --git a/testsuites/smptests/configure.ac b/testsuites/smptests/configure.ac
index e8e4d728c7..19e1effb41 100644
--- a/testsuites/smptests/configure.ac
+++ b/testsuites/smptests/configure.ac
@@ -22,6 +22,8 @@ RTEMS_PROG_CC_FOR_TARGET
RTEMS_PROG_CXX_FOR_TARGET
RTEMS_CANONICALIZE_TOOLS
+RTEMS_CHECK_CPUOPTS([RTEMS_ATOMIC])
+
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
RTEMS_CHECK_CPUOPTS([RTEMS_MULTIPROCESSING])
RTEMS_CHECK_CXX(RTEMS_BSP)
@@ -30,6 +32,8 @@ RTEMS_CHECK_CPUOPTS([RTEMS_SMP])
AM_CONDITIONAL(SMPTESTS,test "$rtems_cv_RTEMS_SMP" = "yes")
+AM_CONDITIONAL([ATOMIC],[test x"$rtems_cv_RTEMS_ATOMIC" = xyes])
+
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
smp01/Makefile
diff --git a/testsuites/smptests/smpatomic01/Makefile.am b/testsuites/smptests/smpatomic01/Makefile.am
index c7af886f73..cc2e1fce8f 100644
--- a/testsuites/smptests/smpatomic01/Makefile.am
+++ b/testsuites/smptests/smpatomic01/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic01
smpatomic01_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic01.scn
dist_rtems_tests_DATA += smpatomic01.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic01_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic01_LDLIBS)
smpatomic01$(EXEEXT): $(smpatomic01_OBJECTS) $(smpatomic01_DEPENDENCIES)
@rm -f smpatomic01$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/smptests/smpatomic02/Makefile.am b/testsuites/smptests/smpatomic02/Makefile.am
index a7d9cbf073..d4b4d6aa32 100644
--- a/testsuites/smptests/smpatomic02/Makefile.am
+++ b/testsuites/smptests/smpatomic02/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic02
smpatomic02_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic02.scn
dist_rtems_tests_DATA += smpatomic02.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic02_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic02_LDLIBS)
smpatomic02$(EXEEXT): $(smpatomic02_OBJECTS) $(smpatomic02_DEPENDENCIES)
@rm -f smpatomic01$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/smptests/smpatomic03/Makefile.am b/testsuites/smptests/smpatomic03/Makefile.am
index 20fdf26232..61c184d7c7 100644
--- a/testsuites/smptests/smpatomic03/Makefile.am
+++ b/testsuites/smptests/smpatomic03/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic03
smpatomic03_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic03.scn
dist_rtems_tests_DATA += smpatomic03.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic03_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic03_LDLIBS)
smpatomic03$(EXEEXT): $(smpatomic03_OBJECTS) $(smpatomic03_DEPENDENCIES)
@rm -f smpatomic03$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/smptests/smpatomic04/Makefile.am b/testsuites/smptests/smpatomic04/Makefile.am
index 288644d134..c354a34c45 100644
--- a/testsuites/smptests/smpatomic04/Makefile.am
+++ b/testsuites/smptests/smpatomic04/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic04
smpatomic04_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic04.scn
dist_rtems_tests_DATA += smpatomic04.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic04_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic04_LDLIBS)
smpatomic04$(EXEEXT): $(smpatomic04_OBJECTS) $(smpatomic04_DEPENDENCIES)
@rm -f smpatomic04$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/smptests/smpatomic05/Makefile.am b/testsuites/smptests/smpatomic05/Makefile.am
index b9c4f7f325..f9df60d4b2 100644
--- a/testsuites/smptests/smpatomic05/Makefile.am
+++ b/testsuites/smptests/smpatomic05/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic05
smpatomic05_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic05.scn
dist_rtems_tests_DATA += smpatomic05.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic05_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic05_LDLIBS)
smpatomic05$(EXEEXT): $(smpatomic05_OBJECTS) $(smpatomic05_DEPENDENCIES)
@rm -f smpatomic05$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/smptests/smpatomic06/Makefile.am b/testsuites/smptests/smpatomic06/Makefile.am
index 30c23f7828..80f9d156c5 100644
--- a/testsuites/smptests/smpatomic06/Makefile.am
+++ b/testsuites/smptests/smpatomic06/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic06
smpatomic06_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic06.scn
dist_rtems_tests_DATA += smpatomic06.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic06_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic06_LDLIBS)
smpatomic06$(EXEEXT): $(smpatomic06_OBJECTS) $(smpatomic06_DEPENDENCIES)
@rm -f smpatomic06$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/smptests/smpatomic07/Makefile.am b/testsuites/smptests/smpatomic07/Makefile.am
index 5e3ebd2b07..4c74ee45a8 100644
--- a/testsuites/smptests/smpatomic07/Makefile.am
+++ b/testsuites/smptests/smpatomic07/Makefile.am
@@ -1,15 +1,16 @@
-
+if ATOMIC
rtems_tests_PROGRAMS = smpatomic07
smpatomic07_SOURCES = init.c tasks.c system.h ../../support/src/locked_print.c
dist_rtems_tests_DATA = smpatomic07.scn
dist_rtems_tests_DATA += smpatomic07.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(smpatomic07_OBJECTS)
@@ -18,5 +19,6 @@ LINK_LIBS = $(smpatomic07_LDLIBS)
smpatomic07$(EXEEXT): $(smpatomic07_OBJECTS) $(smpatomic07_DEPENDENCIES)
@rm -f smpatomic07$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac
index bbdda18579..db44659d30 100644
--- a/testsuites/sptests/configure.ac
+++ b/testsuites/sptests/configure.ac
@@ -20,11 +20,15 @@ RTEMS_PROG_CC_FOR_TARGET
RTEMS_CANONICALIZE_TOOLS
+RTEMS_CHECK_CPUOPTS([RTEMS_ATOMIC])
+
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
# FIXME: We should get rid of this. It's a cludge.
AC_CHECK_SIZEOF([time_t])
+AM_CONDITIONAL([ATOMIC],[test x"$rtems_cv_RTEMS_ATOMIC" = xyes])
+
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
spcontext01/Makefile
diff --git a/testsuites/sptests/spatomic01/Makefile.am b/testsuites/sptests/spatomic01/Makefile.am
index 73677ba65b..3bf1e11009 100644
--- a/testsuites/sptests/spatomic01/Makefile.am
+++ b/testsuites/sptests/spatomic01/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic01
spatomic01_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic01.scn
dist_rtems_tests_DATA += spatomic01.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic01_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic01_LDLIBS)
spatomic01$(EXEEXT): $(spatomic01_OBJECTS) $(spatomic01_DEPENDENCIES)
@rm -f spatomic01$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic02/Makefile.am b/testsuites/sptests/spatomic02/Makefile.am
index b04573174a..cf3e655ae5 100644
--- a/testsuites/sptests/spatomic02/Makefile.am
+++ b/testsuites/sptests/spatomic02/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic02
spatomic02_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic02.scn
dist_rtems_tests_DATA += spatomic02.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic02_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic02_LDLIBS)
spatomic02$(EXEEXT): $(spatomic02_OBJECTS) $(spatomic02_DEPENDENCIES)
@rm -f spatomic01$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic03/Makefile.am b/testsuites/sptests/spatomic03/Makefile.am
index 981ad16022..15b3b472f4 100644
--- a/testsuites/sptests/spatomic03/Makefile.am
+++ b/testsuites/sptests/spatomic03/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic03
spatomic03_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic03.scn
dist_rtems_tests_DATA += spatomic03.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic03_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic03_LDLIBS)
spatomic03$(EXEEXT): $(spatomic03_OBJECTS) $(spatomic03_DEPENDENCIES)
@rm -f spatomic03$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic04/Makefile.am b/testsuites/sptests/spatomic04/Makefile.am
index 12d84dd583..d03e8b514c 100644
--- a/testsuites/sptests/spatomic04/Makefile.am
+++ b/testsuites/sptests/spatomic04/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic04
spatomic04_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic04.scn
dist_rtems_tests_DATA += spatomic04.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic04_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic04_LDLIBS)
spatomic04$(EXEEXT): $(spatomic04_OBJECTS) $(spatomic04_DEPENDENCIES)
@rm -f spatomic04$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic05/Makefile.am b/testsuites/sptests/spatomic05/Makefile.am
index 11c5a665cd..cf72b8e7a4 100644
--- a/testsuites/sptests/spatomic05/Makefile.am
+++ b/testsuites/sptests/spatomic05/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic05
spatomic05_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic05.scn
dist_rtems_tests_DATA += spatomic05.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic05_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic05_LDLIBS)
spatomic05$(EXEEXT): $(spatomic05_OBJECTS) $(spatomic05_DEPENDENCIES)
@rm -f spatomic05$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic06/Makefile.am b/testsuites/sptests/spatomic06/Makefile.am
index 8bd4ed336a..82150f9fe4 100644
--- a/testsuites/sptests/spatomic06/Makefile.am
+++ b/testsuites/sptests/spatomic06/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic06
spatomic06_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic06.scn
dist_rtems_tests_DATA += spatomic06.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic06_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic06_LDLIBS)
spatomic06$(EXEEXT): $(spatomic06_OBJECTS) $(spatomic06_DEPENDENCIES)
@rm -f spatomic06$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spatomic07/Makefile.am b/testsuites/sptests/spatomic07/Makefile.am
index bde7791f67..bd63c527e8 100644
--- a/testsuites/sptests/spatomic07/Makefile.am
+++ b/testsuites/sptests/spatomic07/Makefile.am
@@ -1,13 +1,16 @@
+if ATOMIC
rtems_tests_PROGRAMS = spatomic07
spatomic07_SOURCES = init.c tasks.c system.h
dist_rtems_tests_DATA = spatomic07.scn
dist_rtems_tests_DATA += spatomic07.doc
+endif
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
+if ATOMIC
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
LINK_OBJS = $(spatomic07_OBJECTS)
@@ -16,5 +19,6 @@ LINK_LIBS = $(spatomic07_LDLIBS)
spatomic07$(EXEEXT): $(spatomic07_OBJECTS) $(spatomic07_DEPENDENCIES)
@rm -f spatomic07$(EXEEXT)
$(make-exe)
+endif
include $(top_srcdir)/../automake/local.am