tools/tests: Fix newly introduced Makefile

Fix few issue with this new directory:
- clean generated files
- and ignore those generated files
- include the dependency files generated by `gcc`.
- rework prerequisites:
  "test-rangeset.o" also needs the generated files "list.h" and
  "rangeset.h". Technically, both only needs "harness.h" which needs
  the generated headers, but that's a bit simpler and the previous
  point will add the dependency on "harness.h" automatically.

This last point fix an issue where `make` might decide to build
"test-rangeset.o" before the other files are ready.

Fixes: 7bf777b42c ("tootls/tests: introduce unit tests for rangesets")
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
Anthony PERARD committed 2025-04-25 11:44:03 +02:00
1 parent f628129170
commit a5d0e9c901
2 files changed
+10 -2

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
/list.h
/rangeset.c
/rangeset.h
/test-rangeset
+6 -2
View File
@@ -12,7 +12,7 @@ run: $(TARGET)
.PHONY: clean
clean:
$(RM) -- *.o $(TARGET) $(DEPS_RM)
$(RM) -- *.o $(TARGET) $(DEPS_RM) list.h rangeset.h rangeset.c
.PHONY: distclean
distclean: clean
@@ -32,7 +32,7 @@ rangeset.h: $(XEN_ROOT)/xen/include/xen/rangeset.h
list.h rangeset.h:
sed -e '/#include/d' <$< >$@
rangeset.c: $(XEN_ROOT)/xen/common/rangeset.c list.h rangeset.h
rangeset.c: $(XEN_ROOT)/xen/common/rangeset.c
# Remove includes and add the test harness header
sed -e '/#include/d' -e '1s/^/#include "harness.h"/' <$< >$@
@@ -42,5 +42,9 @@ CFLAGS += $(CFLAGS_xeninclude)
LDFLAGS += $(APPEND_LDFLAGS)
test-rangeset.o rangeset.o: list.h rangeset.h
test-rangeset: rangeset.o test-rangeset.o
$(CC) $^ -o $@ $(LDFLAGS)
-include $(DEPS_INCLUDE)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.