Home | History | Annotate | Download | only in dmapi
      1 #
      2 #   Copyright (c) International Business Machines  Corp., 2004
      3 #
      4 #   This program is free software;  you can redistribute it and/or modify
      5 #   it under the terms of the GNU General Public License as published by
      6 #   the Free Software Foundation; either version 2 of the License, or
      7 #   (at your option) any later version.
      8 #
      9 #   This program is distributed in the hope that it will be useful,
     10 #   but WITHOUT ANY WARRANTY;  without even the implied warranty of
     11 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
     12 #   the GNU General Public License for more details.
     13 #
     14 #   You should have received a copy of the GNU General Public License
     15 #   along with this program;  if not, write to the Free Software
     16 #   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     17 #
     18 
     19 top_srcdir		?= ../../../..
     20 
     21 include	$(top_srcdir)/include/mk/testcases.mk
     22 
     23 # dmapi_imp is platform for DMAPI implementation (currently supported: JFS)
     24 dmapi_imp		:= JFS
     25 
     26 # dmapi_lib is path of user space library for DMAPI implementation
     27 LDLIBS			+= -ljfsdm
     28 
     29 CFLAGS			+= -g -Wall -D$(dmapi_imp)
     30 
     31 #	Define USER_SPACE_FAULTS if DMAPI implementation handles user space
     32 #	  faults (JFS has plenty of handle code in user space, which causes
     33 #	  faults when invalid pointers are passed in)
     34 #	Define DIRECTORY_LINKS if DMAPI FS supports links on directories (JFS
     35 #	  does not)
     36 #	Define INTERIOR_HOLES if DMAPI implementation supports probing/punching
     37 #	  interior holes (JFS does); if not defined, only probing/punching
     38 #	  holes to end-of-file is supported
     39 #	Define MULTIPLE_REGIONS if DMAPI implementation supports multiple
     40 #	  interior regions (JFS does); if not defined, only one region
     41 #	  covering entire file is supported
     42 #extra_cflags = -DUSER_SPACE_FAULTS
     43 #extra_cflags = -DDIRECTORY_LINKS
     44 #extra_cflags = -DINTERIOR_HOLES
     45 #extra_cflags = -DMULTIPLE_REGIONS
     46 CFLAGS			+= -DINTERIOR_HOLES -DMULTIPLE_REGIONS
     47 
     48 cflags = $(std_cflags) $(extra_cflags)
     49 
     50 lflags = $(dmapi_lib)
     51 lflags_thd = $(dmapi_lib) -lpthread
     52 
     53 FILTER_OUT_MAKE_TARGETS	:= dm_test
     54 
     55 dm_test.o: dm_test.c dm_impl.h
     56 
     57 include $(top_srcdir)/include/mk/generic_leaf_target.mk
     58 
     59 $(MAKE_TARGETS): %: %.o dm_test.o dm_test.h
     60