$(MAP_TESTS_H): $(MAP_TESTS_FILES) | $(MAP_TESTS_DIR)
        $(shell ( cd map_tests/; \
                  echo '/* Generated header, do not edit */'; \
-                 echo '#ifdef DECLARE'; \
                  ls *.c 2> /dev/null | \
-                       sed -e 's@\([^\.]*\)\.c@extern void test_\1(void);@'; \
-                 echo '#endif'; \
-                 echo '#ifdef CALL'; \
-                 ls *.c 2> /dev/null | \
-                       sed -e 's@\([^\.]*\)\.c@test_\1();@'; \
-                 echo '#endif' \
+                       sed -e 's@\([^\.]*\)\.c@DEFINE_TEST(\1)@'; \
                 ) > $(MAP_TESTS_H))
 
 VERIFIER_TESTS_DIR = $(OUTPUT)/verifier
 
        test_map_in_map();
 }
 
-#define DECLARE
+#define DEFINE_TEST(name) extern void test_##name(void);
 #include <map_tests/tests.h>
-#undef DECLARE
+#undef DEFINE_TEST
 
 int main(void)
 {
        map_flags = BPF_F_NO_PREALLOC;
        run_all_tests();
 
-#define CALL
+#define DEFINE_TEST(name) test_##name();
 #include <map_tests/tests.h>
-#undef CALL
+#undef DEFINE_TEST
 
        printf("test_maps: OK, %d SKIPPED\n", skips);
        return 0;