xfstests: Use common rules to build binaries
[xfstests-dev.git] / src / Makefile
1 #
2 # Copyright (c) 2000-2005 Silicon Graphics, Inc.  All Rights Reserved.
3 #
4
5 TOPDIR = ..
6 include $(TOPDIR)/include/builddefs
7
8 TARGETS = dirstress fill fill2 getpagesize holes lstat64 \
9         nametest permname randholes runas truncfile usemem \
10         mmapcat append_reader append_writer dirperf metaperf \
11         devzero feature alloc fault fstest t_access_root \
12         godown resvtest writemod makeextents itrash rename \
13         multi_open_unlink dmiperf unwritten_sync genhashnames
14
15 LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize \
16         preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \
17         fs_perms testx looptest locktest unwritten_mmap \
18         bulkstat_unlink_test bulkstat_unlink_test_modified t_dir_offset \
19         t_futimens
20
21 LLDLIBS = $(LIBATTR) $(LIBHANDLE) $(LIBACL)
22
23 ifeq ($(HAVE_XLOG_ASSIGN_LSN), true)
24 LINUX_TARGETS += loggen
25 endif
26
27 IRIX_TARGETS = open_unlink
28
29 ifeq ($(PKG_PLATFORM),linux)
30 TARGETS += $(LINUX_TARGETS)
31 TARGETS += t_immutable
32 endif
33
34 ifeq ($(PKG_PLATFORM),irix)
35 TARGETS += $(IRIX_TARGETS)
36 LLDLIBS += -lgen
37 endif
38
39 ifeq ($(HAVE_DB), true)
40 TARGETS += dbtest
41 LLDLIBS += $(LIBGDBM)
42 endif
43
44 ifeq ($(HAVE_AIO), true)
45 SUBDIRS += aio-dio-regress
46 endif
47
48 CFILES = $(TARGETS:=.c)
49 LDIRT = $(TARGETS)
50
51
52 default: $(TARGETS) $(SUBDIRS)
53
54 PREALLO_TARGETS = preallo_rw_pattern_reader preallo_rw_pattern_writer
55
56 include $(BUILDRULES)
57
58 preallo_rw_pattern_reader:
59         @echo "    [CC]    $@"
60         $(Q)$(LTLINK) iopat.c -DREAD -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
61
62 preallo_rw_pattern_writer:
63         @echo "    [CC]    $@"
64         $(Q)$(LTLINK) iopat.c -DWRITE -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
65
66 $(filter-out $(PREALLO_TARGETS), $(TARGETS)): $(LIBTEST)
67         @echo "    [CC]    $@"
68         $(Q)$(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(LIBTEST)
69
70 LINKTEST = $(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS)
71
72 install: default $(addsuffix -install,$(SUBDIRS))
73         $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/src
74         $(INSTALL) -m 755 $(TARGETS) $(PKG_LIB_DIR)/src
75         $(INSTALL) -m 755 fill2attr fill2fs fill2fs_check scaleread.sh $(PKG_LIB_DIR)/src
76         $(INSTALL) -m 644 dumpfile $(PKG_LIB_DIR)/src
77
78 %-install:
79         $(MAKE) -C $* install