openafs/tests/util/Makefile.in
Andrew Deason 405001be72 tests: Introduce libafstest_common
Currently, a few tests use the code in tests/common/ by linking
individual object files in there in addition to the test code (e.g.
linking ../common/config.o along with superuser-t.o).

This convention makes it very obnoxious to move code around in
tests/common/, since any users need to update their link lines. It
also makes it difficult for code in tests/common/ to make use of
functions in other tests/common/ files.

To fix this, just build all of the objects in tests/common/ into a
convenience library, called libafstest_common, and link the relevant
tests against that. Link a few requisite libraries (roken, rfc3961) in
libafstest_common, so each individual test doesn't need to link
against them.

Also link the TAP library itself in libafstest_common, so tests don't
have to explicitly link against it separately. To do this, convert it
into a libtool library, libafstest_tap.la.

Change-Id: I9c031c164efee20201336edcbfaff429e1d231b7
Reviewed-on: https://gerrit.openafs.org/14318
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
2021-08-07 20:38:05 -04:00

33 lines
832 B
Makefile

# Build rules for the OpenAFS util test suite.
srcdir=@srcdir@
abs_top_builddir=@abs_top_builddir@
include @TOP_OBJDIR@/src/config/Makefile.config
include @TOP_OBJDIR@/src/config/Makefile.pthread
include @TOP_OBJDIR@/src/config/Makefile.libtool
MODULE_CFLAGS = -I$(TOP_OBJDIR)
LIBS = $(abs_top_builddir)/tests/common/libafstest_common.la \
$(abs_top_builddir)/src/util/liboafs_util.la \
$(abs_top_builddir)/src/opr/liboafs_opr.la
BINS = ktime-t exec-alt-t volutil-t
all check test tests: $(BINS)
ktime-t: ktime-t.lo $(LIBS)
$(LT_LDRULE_static) ktime-t.lo $(LIBS) $(XLIBS)
exec-alt-t: exec-alt-t.lo $(LIBS)
$(LT_LDRULE_static) exec-alt-t.lo $(LIBS) $(XLIBS)
volutil-t: volutil-t.lo $(LIBS)
$(LT_LDRULE_static) volutil-t.lo $(LIBS) $(XLIBS)
install:
clean distclean:
$(LT_CLEAN)
$(RM) -f $(BINS) *.o core