xfstests: Use common rules to build binaries

Remove explicit target-per-file rules in the subdirectories being
built and replace them with target based rules using the buildrules
hooks for doing this.  This results in the makefiles being simpler,
smaller and more consistent. It does mean that all binaries are
linked against the common set of libraries but this does not cause
any harm.

This patch does not address the dmapi subdirectory of the xfstests
build system.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Dave Chinner
2010-01-20 10:26:10 +11:00
parent 50f99d08ef
commit 387165ab40
3 changed files with 29 additions and 110 deletions
+8 -23
View File
@@ -10,47 +10,32 @@ CFILES = $(TARGETS:=.c)
HFILES = doio.h
LDIRT = $(TARGETS)
LCFLAGS = -DXFS
IFLAG = -I$(TOPDIR)/src #Used for including $(TOPDIR)/src/global.h
LCFLAGS += -I$(TOPDIR)/src #Used for including $(TOPDIR)/src/global.h
ifeq ($(HAVE_ATTR_LIST), true)
LCFLAGS += -DHAVE_ATTR_LIST
LLDLIBS += $(LIBATTR)
endif
ifeq ($(PKG_PLATFORM),irix)
LCFLAGS += -DHAVE_ATTR_LIST
LLDLIBS += $(LIBATTR)
endif
ifeq ($(HAVE_AIO), true)
TARGETS += aio-stress
LCFLAGS += -DAIO
LIBAIO = -laio -lpthread
LLDLIBS += -laio -lpthread
endif
default: $(TARGETS)
include $(BUILDRULES)
LINKTEST = $(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS)
doio: doio.c $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(IFLAG)
$(TARGETS): $(LIBTEST)
@echo " [CC] $@"
$(Q)$(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
fsstress: fsstress.c $(LIBATTR) $(LIBTEST)
$(LINKTEST) $(LIBATTR) $(LIBTEST) $(LDLIBS) $(IFLAG)
fsx: fsx.c
$(LINKTEST) $(LIBAIO) $(LDLIBS) $(IFLAG)
growfiles: growfiles.c $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(LDLIBS) $(IFLAG)
iogen: iogen.c $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(IFLAG)
ifeq ($(HAVE_AIO), true)
aio-stress: aio-stress.c
$(LINKTEST) $(LIBAIO) $(LDLIBS)
endif
install:
install: default
$(INSTALL) -m 755 -d $(PKG_LIB_DIR)/ltp
$(INSTALL) -m 755 $(TARGETS) $(PKG_LIB_DIR)/ltp
+17 -84
View File
@@ -18,6 +18,8 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \
bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \
t_futimens
LLDLIBS = $(LIBATTR) $(LIBHANDLE) $(LIBACL)
ifeq ($(HAVE_XLOG_ASSIGN_LSN), true)
LINUX_TARGETS += loggen
endif
@@ -26,18 +28,17 @@ IRIX_TARGETS = open_unlink
ifeq ($(PKG_PLATFORM),linux)
TARGETS += $(LINUX_TARGETS)
TARGETS += t_immutable
endif
ifeq ($(PKG_PLATFORM),irix)
TARGETS += $(IRIX_TARGETS)
LLDLIBS += -lgen
endif
ifeq ($(HAVE_DB), true)
TARGETS += dbtest
endif
ifeq ($(PKG_PLATFORM),linux)
TARGETS += t_immutable
LLDLIBS += $(LIBGDBM)
endif
ifeq ($(HAVE_AIO), true)
@@ -47,96 +48,28 @@ endif
CFILES = $(TARGETS:=.c)
LDIRT = $(TARGETS)
default: $(TARGETS) $(SUBDIRS)
PREALLO_TARGETS = preallo_rw_pattern_reader preallo_rw_pattern_writer
include $(BUILDRULES)
LINKTEST = $(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS)
randholes: randholes.o $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(LDLIBS)
truncfile: truncfile.o $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(LDLIBS)
dbtest: dbtest.o $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(LIBGDBM) $(LDLIBS)
genhashnames: genhashnames.o
$(LINKTEST)
nametest: nametest.o $(LIBTEST)
$(LINKTEST) $(LIBTEST) $(LDLIBS)
bstat: bstat.o
$(LINKTEST) $(LIBHANDLE) $(LDLIBS)
t_immutable: t_immutable.o
$(LINKTEST) $(LIBACL) $(LIBHANDLE) $(LDLIBS)
loggen: loggen.o
$(LINKTEST) $(LDLIBS)
fstest: fstest.o
$(LINKTEST)
resvtest: resvtest.o
$(LINKTEST)
itrash: itrash.o
$(LINKTEST)
multi_open_unlink: multi_open_unlink.o
$(LINKTEST) $(LIBATTR) $(LDLIBS)
#scaleread: scaleread.o $(LDLIBS)
# $(LINKTEST)
acl_get: acl_get.o
$(LINKTEST) $(LIBACL) $(LIBATTR) $(LDLIBS)
dmiperf: dmiperf.o
$(LINKTEST) $(LIBATTR) $(LDLIBS)
preallo_rw_pattern_reader:
$(CC) $(GCFLAGS) $(LDFLAGS) -DREAD iopat.c -o preallo_rw_pattern_reader
@echo " [CC] $@"
$(Q)$(LTLINK) iopat.c -DREAD -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
preallo_rw_pattern_writer:
$(CC) $(GCFLAGS) $(LDFLAGS) -DWRITE iopat.c -o preallo_rw_pattern_writer
@echo " [CC] $@"
$(Q)$(LTLINK) iopat.c -DWRITE -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
ftrunc: ftrunc.o
$(LINKTEST)
$(filter-out $(PREALLO_TARGETS), $(TARGETS)): $(LIBTEST)
@echo " [CC] $@"
$(Q)$(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
trunc: trunc.o
$(LINKTEST)
LINKTEST = $(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS)
fs_perms: fs_perms.o
$(LINKTEST)
testx: testx.o
$(LINKTEST)
looptest: looptest.o
$(LINKTEST)
locktest: locktest.o
$(LINKTEST)
unwritten_sync: unwritten_sync.o
$(LINKTEST)
ifeq ($(PKG_PLATFORM),irix)
fill2: fill2.o
$(LINKTEST) -lgen
runas: runas.o
$(LINKTEST) -lgen
open_unlink: open_unlink.o $(LIBHANDLE)
$(LINKTEST) $(LIBHANDLE) $(LDLIBS)
endif
install: $(addsuffix -install,$(SUBDIRS))
install: default $(addsuffix -install,$(SUBDIRS))
$(INSTALL) -m 755 -d $(PKG_LIB_DIR)/src
$(INSTALL) -m 755 $(TARGETS) $(PKG_LIB_DIR)/src
$(INSTALL) -m 755 fill2attr fill2fs fill2fs_check scaleread.sh $(PKG_LIB_DIR)/src
+4 -3
View File
@@ -6,14 +6,15 @@ TARGETS = $(basename $(wildcard *.c))
CFILES = $(TARGETS:=.c)
LDIRT = $(TARGETS)
LIBAIO = -laio -lpthread
LLDLIBS = -laio -lpthread
default: $(TARGETS)
include $(BUILDRULES)
$(TARGETS): %: %.c
$(CC) -g -Wall $(LIBAIO) -o $@ $*.c
$(TARGETS):
@echo " [CC] $@"
$(Q)$(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
install:
$(INSTALL) -m 755 -d $(PKG_LIB_DIR)/src/aio-dio-regress