From 387165ab4058091ac514cb6b643cd310f5994f62 Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Wed, 20 Jan 2010 10:26:10 +1100 Subject: [PATCH] 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 Reviewed-by: Christoph Hellwig --- ltp/Makefile | 31 +++-------- src/Makefile | 101 ++++++----------------------------- src/aio-dio-regress/Makefile | 7 +-- 3 files changed, 29 insertions(+), 110 deletions(-) diff --git a/ltp/Makefile b/ltp/Makefile index bcdac847a..fee10f551 100644 --- a/ltp/Makefile +++ b/ltp/Makefile @@ -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 diff --git a/src/Makefile b/src/Makefile index 71a32c912..e2a42ce04 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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) - -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) +default: $(TARGETS) $(SUBDIRS) -acl_get: acl_get.o - $(LINKTEST) $(LIBACL) $(LIBATTR) $(LDLIBS) +PREALLO_TARGETS = preallo_rw_pattern_reader preallo_rw_pattern_writer -dmiperf: dmiperf.o - $(LINKTEST) $(LIBATTR) $(LDLIBS) +include $(BUILDRULES) 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 - -ftrunc: ftrunc.o - $(LINKTEST) - -trunc: trunc.o - $(LINKTEST) - -fs_perms: fs_perms.o - $(LINKTEST) + @echo " [CC] $@" + $(Q)$(LTLINK) iopat.c -DWRITE -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST) -testx: testx.o - $(LINKTEST) +$(filter-out $(PREALLO_TARGETS), $(TARGETS)): $(LIBTEST) + @echo " [CC] $@" + $(Q)$(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST) -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 +LINKTEST = $(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) -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 diff --git a/src/aio-dio-regress/Makefile b/src/aio-dio-regress/Makefile index 9968093d7..f0e4d154c 100644 --- a/src/aio-dio-regress/Makefile +++ b/src/aio-dio-regress/Makefile @@ -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 -- 2.50.1