Whamcloud - gitweb
Land b_smallfix onto HEAD (20040416_1638) (more 2.6 build fixes)
[fs/lustre-release.git] / lustre / Rules.in
1 # Directories building kernel modules should have two files:
2 #
3 # Makefile.in:
4 #
5 # MODULES := <module-name>
6 # <module-name>-objs := file1.o file2.o file3.o
7 # @INCLUDE_RULES@
8 #
9 # and autoMakefile.am:
10 #
11 # if LIBLUSTRE
12 # <liblustre rules>
13 # endif
14 #
15 # if MODULES
16 # modulefs_DATA = <module-name>$(KMODEXT)
17 # endif
18 #
19 # DIST_SOURCES = $(<module-name>-objs:.o=.c) <other sources>
20 # MOSTLYCLEANFILES = *.o *.ko *.mod.c
21
22 ifeq ($(PATCHLEVEL),)
23
24 include autoMakefile
25
26 tags:
27         rm -f $(top_srcdir)/TAGS
28         ETAGSF=`etags --version | grep -iq exuberant && \
29                 echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
30         find $(top_srcdir) -name '*.[hc]' | xargs etags $$ETAGSF -a
31
32         rm -f $(top_srcdir)/tags
33         CTAGSF=`ctags --version | grep -iq exuberant && \
34                 echo "-I __initdata,__exitdata,EXPORT_SYMBOL"`; \
35         find $(top_srcdir) -name '*.[hc]' | xargs ctags $$CTAGSF -a
36
37 else
38
39 include @LINUX_CONFIG@
40
41 EXTRA_CFLAGS := $(EXTRA_PRE_CFLAGS)
42 EXTRA_CFLAGS += @EXTRA_KCFLAGS@ @UML_CFLAGS@
43 EXTRA_CFLAGS += $(EXTRA_POST_CFLAGS)
44
45 obj-m := $(patsubst %,%.o,$(MODULES))
46
47 ifeq ($(PATCHLEVEL),4)
48 # 2.4 rules
49 O_TARGET := $(firstword $(obj-m))
50 obj-y := $($(firstword $(MODULES))-objs)
51 export-objs := $(obj-y) $(filter-out $(O_TARGET),$(obj-m))
52 include $(TOPDIR)/Rules.make
53 $(MODINCL)/%.ver: %.c
54         @true
55 endif # PATCHLEVEL
56
57 endif # KERNELRELEASE