blob: 42d1807f58f21fbbeeb99afb56ae9938f2bd1721 [file] [log] [blame]
Miklos Szeredif85ab242004-01-07 12:16:45 +00001# Makefile.in for kernel module
2
3SHELL = /bin/sh
4INSTALL = @INSTALL@
Miklos Szeredi51ec1032004-11-10 11:52:26 +00005mkdir_p = mkdir -p
Miklos Szeredif85ab242004-01-07 12:16:45 +00006majver = @majver@
Miklos Szeredi51ec1032004-11-10 11:52:26 +00007VERSION = @PACKAGE_VERSION@
Miklos Szeredif85ab242004-01-07 12:16:45 +00008
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00009DISTFILES = Makefile.in configure.ac configure config.h.in ../install-sh \
Miklos Szeredi51ec1032004-11-10 11:52:26 +000010 dev.c dir.c file.c inode.c util.c fuse_i.h
Miklos Szeredi127d49b2004-10-14 13:33:39 +000011COMPATDISTFILES = compat/parser.c compat/parser.h
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012LINUXDISTFILES = linux/fuse.h
Miklos Szeredif85ab242004-01-07 12:16:45 +000013
14fusemoduledir = @kmoduledir@/kernel/fs/fuse
15
16ifeq ($(majver), 2.4)
17fusemodule := fuse.o
18else
19fusemodule := fuse.ko
20endif
21
22all: all-spec
23
24install: all
Miklos Szeredic6f5bb42004-05-27 10:29:19 +000025 $(mkdir_p) $(DESTDIR)$(fusemoduledir)
Miklos Szeredif85ab242004-01-07 12:16:45 +000026 $(INSTALL) -m 644 $(fusemodule) $(DESTDIR)$(fusemoduledir)/$(fusemodule)
27 -/sbin/depmod -a
28
29uninstall:
30 rm -f $(DESTDIR)$(fusemoduledir)/$(fusemodule)
31 -/sbin/depmod -a
32
33clean:
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +000034 -rm -f $(fusemodule) *.o .*.cmd *.mod.c *.ko *.s */*.o
Miklos Szeredif85ab242004-01-07 12:16:45 +000035
36distclean: clean
37 rm -f Makefile
Miklos Szeredi51ec1032004-11-10 11:52:26 +000038 rm -f config.h config.log config.status config.cache
39 rm -rf .tmp_versions
Miklos Szeredif85ab242004-01-07 12:16:45 +000040
41maintainer-clean: distclean
42
Miklos Szeredi51ec1032004-11-10 11:52:26 +000043distdir: $(DISTFILES) $(COMPATDISTFILES) $(LINUXDISTFILES)
Miklos Szeredif85ab242004-01-07 12:16:45 +000044 cp -p $(DISTFILES) $(distdir)
Miklos Szeredi127d49b2004-10-14 13:33:39 +000045 mkdir $(distdir)/compat
46 cp -p $(COMPATDISTFILES) $(distdir)/compat
Miklos Szeredi51ec1032004-11-10 11:52:26 +000047 mkdir $(distdir)/linux
48 cp -p $(LINUXDISTFILES) $(distdir)/linux
Miklos Szeredif85ab242004-01-07 12:16:45 +000049
50ifeq ($(majver), 2.4)
51
Miklos Szeredi51ec1032004-11-10 11:52:26 +000052CC = gcc
53LD = ld
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +000054CFLAGS = -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe
Miklos Szeredi51ec1032004-11-10 11:52:26 +000055CPPFLAGS = -I@kernelsrc@/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"$(VERSION)\" @KERNELCPPFLAGS@
Miklos Szeredif85ab242004-01-07 12:16:45 +000056
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +000057fuse_objs = dev.o dir.o file.o inode.o util.o compat/parser.o
Miklos Szeredif85ab242004-01-07 12:16:45 +000058
59SUFFIXES = .c .o .s
60
61all-spec: fuse.o
62
63.c.o:
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +000064 $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
Miklos Szeredif85ab242004-01-07 12:16:45 +000065
66fuse.o: $(fuse_objs)
67 $(LD) -r -o fuse.o $(fuse_objs)
68
Miklos Szeredi51ec1032004-11-10 11:52:26 +000069fuse_headers = fuse_i.h linux/fuse.h
Miklos Szeredif85ab242004-01-07 12:16:45 +000070
71dev.o: $(fuse_headers)
72dir.o: $(fuse_headers)
73file.o: $(fuse_headers)
74inode.o: $(fuse_headers)
75util.o: $(fuse_headers)
76
77else
78
Miklos Szeredi51ec1032004-11-10 11:52:26 +000079export FUSE_INCLUDE ?= $(shell pwd)
80EXTRA_CFLAGS += -I$(FUSE_INCLUDE) -DFUSE_VERSION=\"$(VERSION)\"
Miklos Szeredi8b4e0962004-01-07 13:17:32 +000081
Miklos Szeredif85ab242004-01-07 12:16:45 +000082obj-m := fuse.o
83fuse-objs := dev.o dir.o file.o inode.o util.o
84
85all-spec:
Miklos Szeredi851948c2004-04-02 14:58:22 +000086 $(MAKE) -C @kernelsrc@ SUBDIRS=$(PWD) @KERNELMAKE_PARAMS@ modules
Miklos Szeredif85ab242004-01-07 12:16:45 +000087endif