gparted/tests/Makefile.am
Mike Fleetwood 8ec302e1b0 Move duplicated test code into shared modules (#220)
Move common testing code which doesn't need linking with GParted objects
into the common module.  Move the remaining common code used to print
GParted objects using the insertion operator (operator<<) into the
insertion_operators module.  Split the common code like this so that the
operator<<(std::ostream&, const OperationDetail&) function is not
included in test_PipeCapture and it is not forced to link with all the
non-UI related GParted objects.

The Automake manual provides guidance that when a header belongs to a
single program it is recommended to be listed in the program's _SOURCES
variable and for a directory only containing header files listing them
in the noinst_HEADERS variable is the right variable to use [1].
However the guidance doesn't cover this case for common.h and
insertion_operators.h; header files in a directory with other files and
used by multiple programs.  So just because we have gparted_core_OBJECTS
(normal Makefile, not Automake special variable) listing objects to link
with, choose to use noinst_HEADERS Automake variable to list needed
headers.

[1] GNU Automake manual, 9.2 Header files
    https://www.gnu.org/software/automake/manual/html_node/Headers.html
        "Usually, only header files that accompany installed libraries
        need to be installed.  Headers used by programs or convenience
        libraries are not installed.  The noinst_HEADERS variable can be
        used for such headers.  However, when the header belongs to a
        single convenience library or program, we recommend listing it
        in the program's or library's _SOURCES variable (see Defining
        program sources) instead of in noinst_HEADERS.  This is clearer
        for the Makefile.am reader.  noinst_HEADERS would be the right
        variable to use in a directory containing only headers and no
        associated library or program.

        All header files must be listed somewhere; in a _SOURCES
        variable or in a _HEADERS variable.  Missing ones will not
        appear in the distribution.
        "

Closes #220 - Format to Cleared not clearing "pdc" ataraid signature
2023-02-13 16:33:57 +00:00

108 lines
4.1 KiB
Makefile

AM_CPPFLAGS = \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib/gtest/include \
$(GTEST_CPPFLAGS)
AM_CXXFLAGS = -Wall $(GTEST_CXXFLAGS)
AM_LDFLAGS = $(GTEST_LDFLAGS)
LDADD = \
$(GTEST_LIBS) \
$(top_builddir)/lib/gtest/lib/libgtest_main.la \
$(top_builddir)/lib/gtest/lib/libgtest.la
# Programs to be built by "make check"
check_PROGRAMS = \
test_dummy \
test_BlockSpecial \
test_EraseFileSystemSignatures \
test_PasswordRAMStore \
test_PipeCapture \
test_SupportedFileSystems
# Test cases to be run by "make check"
TESTS = $(check_PROGRAMS)
noinst_HEADERS = \
common.h \
insertion_operators.h
gparted_core_OBJECTS = \
$(top_builddir)/src/BCache_Info.$(OBJEXT) \
$(top_builddir)/src/BlockSpecial.$(OBJEXT) \
$(top_builddir)/src/CopyBlocks.$(OBJEXT) \
$(top_builddir)/src/DMRaid.$(OBJEXT) \
$(top_builddir)/src/Device.$(OBJEXT) \
$(top_builddir)/src/FS_Info.$(OBJEXT) \
$(top_builddir)/src/FileSystem.$(OBJEXT) \
$(top_builddir)/src/GParted_Core.$(OBJEXT) \
$(top_builddir)/src/LUKS_Info.$(OBJEXT) \
$(top_builddir)/src/LVM2_PV_Info.$(OBJEXT) \
$(top_builddir)/src/Mount_Info.$(OBJEXT) \
$(top_builddir)/src/Operation.$(OBJEXT) \
$(top_builddir)/src/OperationCopy.$(OBJEXT) \
$(top_builddir)/src/OperationDetail.$(OBJEXT) \
$(top_builddir)/src/Partition.$(OBJEXT) \
$(top_builddir)/src/PartitionLUKS.$(OBJEXT) \
$(top_builddir)/src/PartitionVector.$(OBJEXT) \
$(top_builddir)/src/PasswordRAMStore.$(OBJEXT) \
$(top_builddir)/src/PipeCapture.$(OBJEXT) \
$(top_builddir)/src/Proc_Partitions_Info.$(OBJEXT) \
$(top_builddir)/src/ProgressBar.$(OBJEXT) \
$(top_builddir)/src/SupportedFileSystems.$(OBJEXT) \
$(top_builddir)/src/SWRaid_Info.$(OBJEXT) \
$(top_builddir)/src/Utils.$(OBJEXT) \
$(top_builddir)/src/btrfs.$(OBJEXT) \
$(top_builddir)/src/exfat.$(OBJEXT) \
$(top_builddir)/src/ext2.$(OBJEXT) \
$(top_builddir)/src/f2fs.$(OBJEXT) \
$(top_builddir)/src/fat16.$(OBJEXT) \
$(top_builddir)/src/hfs.$(OBJEXT) \
$(top_builddir)/src/hfsplus.$(OBJEXT) \
$(top_builddir)/src/jfs.$(OBJEXT) \
$(top_builddir)/src/linux_swap.$(OBJEXT) \
$(top_builddir)/src/luks.$(OBJEXT) \
$(top_builddir)/src/lvm2_pv.$(OBJEXT) \
$(top_builddir)/src/minix.$(OBJEXT) \
$(top_builddir)/src/nilfs2.$(OBJEXT) \
$(top_builddir)/src/ntfs.$(OBJEXT) \
$(top_builddir)/src/reiser4.$(OBJEXT) \
$(top_builddir)/src/reiserfs.$(OBJEXT) \
$(top_builddir)/src/udf.$(OBJEXT) \
$(top_builddir)/src/xfs.$(OBJEXT)
test_dummy_SOURCES = test_dummy.cc
test_BlockSpecial_SOURCES = test_BlockSpecial.cc
test_BlockSpecial_LDADD = \
$(top_builddir)/src/BlockSpecial.$(OBJEXT) \
$(LDADD)
test_EraseFileSystemSignatures_SOURCES = \
test_EraseFileSystemSignatures.cc \
common.cc \
insertion_operators.cc
test_EraseFileSystemSignatures_LDADD = \
$(gparted_core_OBJECTS) \
$(GTEST_LIBS) \
$(top_builddir)/lib/gtest/lib/libgtest.la
test_PasswordRAMStore_SOURCES = test_PasswordRAMStore.cc
test_PasswordRAMStore_LDADD = \
$(top_builddir)/src/PasswordRAMStore.$(OBJEXT) \
$(LDADD)
test_PipeCapture_SOURCES = \
test_PipeCapture.cc \
common.cc
test_PipeCapture_LDADD = \
$(top_builddir)/src/PipeCapture.$(OBJEXT) \
$(LDADD)
test_SupportedFileSystems_SOURCES = \
test_SupportedFileSystems.cc \
common.cc \
insertion_operators.cc
test_SupportedFileSystems_LDADD = \
$(gparted_core_OBJECTS) \
$(GTEST_LIBS) \
$(top_builddir)/lib/gtest/lib/libgtest.la