Makefile 2.53 KB
Newer Older
1 2 3 4 5 6 7 8 9
#
# Makefile for the linux filesystem.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now in the main makefile...

Linus Torvalds's avatar
Linus Torvalds committed
10
SUBDIRS = minix ext ext2 msdos proc isofs nfs xiafs umsdos hpfs sysv
11 12 13 14 15 16 17

ifdef CONFIG_MINIX_FS
FS_SUBDIRS := $(FS_SUBDIRS) minix
endif
ifdef CONFIG_EXT_FS
FS_SUBDIRS := $(FS_SUBDIRS) ext
endif
18 19 20
ifdef CONFIG_EXT2_FS
FS_SUBDIRS := $(FS_SUBDIRS) ext2
endif
21 22
ifdef CONFIG_MSDOS_FS
FS_SUBDIRS := $(FS_SUBDIRS) msdos
Linus Torvalds's avatar
Linus Torvalds committed
23 24
else
MODULE_FS_SUBDIRS := $(MODULE_FS_SUBDIRS) msdos
25 26 27 28 29 30
endif
ifdef CONFIG_PROC_FS
FS_SUBDIRS := $(FS_SUBDIRS) proc
endif
ifdef CONFIG_ISO9660_FS
FS_SUBDIRS := $(FS_SUBDIRS) isofs
Linus Torvalds's avatar
Linus Torvalds committed
31 32
else
MODULE_FS_SUBDIRS := $(MODULE_FS_SUBDIRS) isofs
33 34 35 36
endif
ifdef CONFIG_NFS_FS
FS_SUBDIRS := $(FS_SUBDIRS) nfs
endif
37 38
ifdef CONFIG_XIA_FS
FS_SUBDIRS := $(FS_SUBDIRS) xiafs
Linus Torvalds's avatar
Linus Torvalds committed
39 40
else
MODULE_FS_SUBDIRS := $(MODULE_FS_SUBDIRS) xiafs
41
endif
Linus Torvalds's avatar
Linus Torvalds committed
42 43
ifdef CONFIG_UMSDOS_FS
FS_SUBDIRS := $(FS_SUBDIRS) umsdos
Linus Torvalds's avatar
Linus Torvalds committed
44 45
else
MODULE_FS_SUBDIRS := $(MODULE_FS_SUBDIRS) umsdos
Linus Torvalds's avatar
Linus Torvalds committed
46
endif
Linus Torvalds's avatar
Linus Torvalds committed
47 48
ifdef CONFIG_SYSV_FS
FS_SUBDIRS := $(FS_SUBDIRS) sysv
Linus Torvalds's avatar
Linus Torvalds committed
49 50
else
MODULE_FS_SUBDIRS := $(MODULE_FS_SUBDIRS) sysv
Linus Torvalds's avatar
Linus Torvalds committed
51
endif
52 53 54
ifdef CONFIG_HPFS_FS
FS_SUBDIRS := $(FS_SUBDIRS) hpfs
endif
55

Linus Torvalds's avatar
Linus Torvalds committed
56 57 58
ifdef CONFIG_BINFMT_ELF
BINFMTS := $(BINFMTS) binfmt_elf.o
else
Linus Torvalds's avatar
Linus Torvalds committed
59
MODULE_OBJS := $(MODULE_OBJS) binfmt_elf.o
Linus Torvalds's avatar
Linus Torvalds committed
60 61
endif

62
.c.s:
63
	$(CC) $(CFLAGS) -S $<
64
.c.o:
65
	$(CC) $(CFLAGS) -c $<
66 67 68
.s.o:
	$(AS) -o $*.o $<

69
OBJS=	open.o read_write.o inode.o devices.o file_table.o buffer.o super.o \
70
	block_dev.o stat.o exec.o pipe.o namei.o fcntl.o ioctl.o \
Linus Torvalds's avatar
Linus Torvalds committed
71
	select.o fifo.o locks.o filesystems.o dcache.o $(BINFMTS)
72

Linus Torvalds's avatar
Linus Torvalds committed
73
all: fs.o filesystems.a modules modules_fs
74 75 76 77

fs.o: $(OBJS)
	$(LD) -r -o fs.o $(OBJS)

78 79
filesystems.a: dummy
	rm -f filesystems.a
80 81 82
	set -e; for i in $(FS_SUBDIRS); do \
	  test ! -d $$i || \
	    { $(MAKE) -C $$i; $(AR) rcs filesystems.a $$i/$$i.o; }; done
83

Linus Torvalds's avatar
Linus Torvalds committed
84 85 86 87 88
ifdef MODULES

modules:
	$(MAKE) CFLAGS="$(CFLAGS) -DMODULE" $(MODULES)
	(cd ../modules;for i in $(MODULES); do ln -sf ../fs/$$i .; done)
Linus Torvalds's avatar
Linus Torvalds committed
89 90 91 92 93 94 95 96 97 98

else

modules:

endif

ifdef MODULE_FS_SUBDIRS

modules_fs:
Linus Torvalds's avatar
Linus Torvalds committed
99 100 101
	set -e; for i in $(MODULE_FS_SUBDIRS); do \
	  test ! -d $$i || \
	    { $(MAKE) -C $$i; }; done
Linus Torvalds's avatar
Linus Torvalds committed
102 103
	(cd ../modules; \
	 for i in $(MODULE_FS_SUBDIRS); do ln -sf ../fs/$$i/$$i.o .; done)
Linus Torvalds's avatar
Linus Torvalds committed
104 105 106

else

Linus Torvalds's avatar
Linus Torvalds committed
107
modules_fs:
Linus Torvalds's avatar
Linus Torvalds committed
108 109 110

endif

111
depend dep:
112
	$(CPP) -M *.c > .depend
113 114
	set -e; for i in $(SUBDIRS); do \
	  test ! -d $$i || $(MAKE) -C $$i dep; done
115 116

dummy:
117

118 119 120 121 122 123
#
# include a dependency file if one exists
#
ifeq (.depend,$(wildcard .depend))
include .depend
endif