blob: a8361ac818b7b5edd7ff2c3c6a314d565397eb41 [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 Szeredi91762cd2006-06-29 14:38:35 +000010 dev.c dir.c file.c inode.c fuse_i.h fuse_kernel.h control.c
Miklos Szeredi127d49b2004-10-14 13:33:39 +000011COMPATDISTFILES = compat/parser.c compat/parser.h
Miklos Szeredif85ab242004-01-07 12:16:45 +000012
13fusemoduledir = @kmoduledir@/kernel/fs/fuse
14
15ifeq ($(majver), 2.4)
16fusemodule := fuse.o
17else
18fusemodule := fuse.ko
19endif
20
Miklos Szeredi8c7da232005-01-09 12:27:41 +000021all: all-@ENABLE_FUSE_MODULE@
22install: install-@ENABLE_FUSE_MODULE@
23uninstall: uninstall-@ENABLE_FUSE_MODULE@
Miklos Szeredif85ab242004-01-07 12:16:45 +000024
Miklos Szeredi8c7da232005-01-09 12:27:41 +000025all-n:
26install-n:
27uninstall-n:
28
29all-y: all-spec
30
31install-y: all
Miklos Szeredic6f5bb42004-05-27 10:29:19 +000032 $(mkdir_p) $(DESTDIR)$(fusemoduledir)
Miklos Szeredif85ab242004-01-07 12:16:45 +000033 $(INSTALL) -m 644 $(fusemodule) $(DESTDIR)$(fusemoduledir)/$(fusemodule)
34 -/sbin/depmod -a
35
Miklos Szeredi8c7da232005-01-09 12:27:41 +000036uninstall-y:
Miklos Szeredif85ab242004-01-07 12:16:45 +000037 rm -f $(DESTDIR)$(fusemoduledir)/$(fusemodule)
38 -/sbin/depmod -a
39
40clean:
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +000041 -rm -f $(fusemodule) *.o .*.cmd *.mod.c *.ko *.s */*.o
Miklos Szeredif85ab242004-01-07 12:16:45 +000042
43distclean: clean
44 rm -f Makefile
Miklos Szeredi51ec1032004-11-10 11:52:26 +000045 rm -f config.h config.log config.status config.cache
46 rm -rf .tmp_versions
Miklos Szeredif85ab242004-01-07 12:16:45 +000047
48maintainer-clean: distclean
49
Miklos Szeredib9b94cd2004-12-01 18:56:39 +000050distdir: $(DISTFILES) $(COMPATDISTFILES)
Miklos Szeredif85ab242004-01-07 12:16:45 +000051 cp -p $(DISTFILES) $(distdir)
Miklos Szeredi127d49b2004-10-14 13:33:39 +000052 mkdir $(distdir)/compat
53 cp -p $(COMPATDISTFILES) $(distdir)/compat
Miklos Szeredif85ab242004-01-07 12:16:45 +000054
55ifeq ($(majver), 2.4)
56
Miklos Szeredi51ec1032004-11-10 11:52:26 +000057CC = gcc
58LD = ld
Miklos Szeredi3cc8a262005-11-29 11:04:27 +000059CFLAGS = -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe @KERNELCFLAGS@
Miklos Szeredi51ec1032004-11-10 11:52:26 +000060CPPFLAGS = -I@kernelsrc@/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"$(VERSION)\" @KERNELCPPFLAGS@
Miklos Szeredif85ab242004-01-07 12:16:45 +000061
Miklos Szeredi91762cd2006-06-29 14:38:35 +000062fuse_objs = dev.o dir.o file.o inode.o compat/parser.o control.o
Miklos Szeredif85ab242004-01-07 12:16:45 +000063
64SUFFIXES = .c .o .s
65
66all-spec: fuse.o
67
68.c.o:
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +000069 $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
Miklos Szeredif85ab242004-01-07 12:16:45 +000070
71fuse.o: $(fuse_objs)
72 $(LD) -r -o fuse.o $(fuse_objs)
73
Miklos Szeredib9b94cd2004-12-01 18:56:39 +000074fuse_headers = fuse_i.h fuse_kernel.h
Miklos Szeredif85ab242004-01-07 12:16:45 +000075
76dev.o: $(fuse_headers)
77dir.o: $(fuse_headers)
78file.o: $(fuse_headers)
79inode.o: $(fuse_headers)
Miklos Szeredi91762cd2006-06-29 14:38:35 +000080control.o: $(fuse_headers)
Miklos Szeredif85ab242004-01-07 12:16:45 +000081
82else
83
Miklos Szeredi4e358802005-01-04 13:37:55 +000084EXTRA_CFLAGS += -DFUSE_VERSION=\"$(VERSION)\"
Miklos Szeredi8b4e0962004-01-07 13:17:32 +000085
Miklos Szeredif85ab242004-01-07 12:16:45 +000086obj-m := fuse.o
Miklos Szeredi91762cd2006-06-29 14:38:35 +000087fuse-objs := dev.o dir.o file.o inode.o control.o
Miklos Szeredif85ab242004-01-07 12:16:45 +000088
89all-spec:
Miklos Szeredi851948c2004-04-02 14:58:22 +000090 $(MAKE) -C @kernelsrc@ SUBDIRS=$(PWD) @KERNELMAKE_PARAMS@ modules
Miklos Szeredif85ab242004-01-07 12:16:45 +000091endif