xfstests: Use common rules to build binaries
authorDave Chinner <david@fromorbit.com>
Tue, 19 Jan 2010 23:26:10 +0000 (10:26 +1100)
committerDave Chinner <david@fromorbit.com>
Tue, 19 Jan 2010 23:26:10 +0000 (10:26 +1100)
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>
ltp/Makefile
src/Makefile
src/aio-dio-regress/Makefile

index bcdac847a843b1a7484dae21db57a6476f739f1a..fee10f551dde7849ca54ece284613f4fb22c35bb 100644 (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
 
index 71a32c912d6eb9a65d35864b1b3c9cbc60dd3e48..e2a42ce04be14c17b6d5e8728f6c25c832a4b530 100644 (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)
-
-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
index 9968093d78d1d2f669f90910d59125eb1dc7ee63..f0e4d154c894b4b641a279c8cd20ead4d8376eda 100644 (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