summaryrefslogtreecommitdiff
path: root/libdiskfs/Makefile
blob: 8521a585dd9928cca606d1fbea3b0bcd1e6c3ce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# 
#   Copyright (C) 1994, 1995 Free Software Foundation
#
#   This program is free software; you can redistribute it and/or
#   modify it under the terms of the GNU General Public License as
#   published by the Free Software Foundation; either version 2, or (at
#   your option) any later version.
#
#   This program is distributed in the hope that it will be useful, but
#   WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#   General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

dir := libdiskfs
makemode := library

FSSRCS= dir-link.c dir-mkdir.c dir-mkfile.c dir-lookup.c dir-rename.c    \
	dir-rmdir.c dir-unlink.c file-chauthor.c file-chflags.c file-chown.c \
	file-get-trans.c file-get-transcntl.c file-getfh.c file-getlinknode.c \
	file-pathconf.c file-set-trans.c file-statfs.c file-sync.c 	    \
	file-syncfs.c file-truncate.c file-utimes.c file-getcontrol.c       \
	file-lock.c file-chmod.c dir-readdir.c file-lock-stat.c file-exec.c \
	dir-chg.c file-chg.c file-access.c file-inv-trans.c

IOSRCS= io-async-icky.c io-async.c io-duplicate.c io-get-conch.c 	    \
	io-interrupt.c io-map-cntl.c io-map.c io-modes-get.c io-modes-off.c \
	io-modes-on.c io-modes-set.c io-owner-mod.c io-owner-get.c 	    \
	io-prenotify.c io-read.c io-readable.c io-reauthenticate.c	    \
	io-rel-conch.c io-restrict-auth.c io-seek.c io-select.c io-stat.c   \
	io-stubs.c io-write.c io-version.c io-sigio.c

FSYSSRCS=fsys-getroot.c fsys-goaway.c fsys-startup.c fsys-getfile.c \
	fsys-options.c fsys-syncfs.c

IFSOCKSRCS=ifsock.c

NOTIFYSRCS=notify-nosenders.c notify-stubs.c

INTSRCS=interrupt.c

OTHERSRCS = conch-fetch.c conch-set.c dir-clear.c dir-init.c dir-renamed.c \
	node-create.c node-drop.c node-make.c node-rdwr.c node-update.c \
	peropen-make.c peropen-rele.c protid-make.c protid-rele.c \
	rdwr-internal.c init-init.c init-startup.c init-first.c \
	boot-parse.c boot-start.c demuxer.c exc.c node-times.c shutdown.c \
	sync-interval.c sync-default.c opts-set.c opts-std-startup.c \
	opts-runtime-def.c trans-callback.c

SRCS = $(NOTIFYSRCS) $(OTHERSRCS) $(FSSRCS) $(IOSRCS) $(FSYSSRCS) $(INTSRCS) \
	$(IFSOCKSRCS)
MIGSTUBS = fsServer.o ioServer.o fsysServer.o notifyServer.o execServer.o \
	interruptServer.o fsys_replyUser.o ourfs_notifyUser.o ifsockServer.o

notify-MIGSFLAGS = -DSEQNOS

OBJS = $(sort $(subst .c,.o,$(SRCS)) $(MIGSTUBS)) argz.o options.o

LCLHDRS = diskfs.h priv.h lithp.h fsmutations.h
REMHDRS = ../hurd/ports.h ../hurd/pager.h ../hurd/fshelp.h ../hurd/ioserver.h ../lib/argz.h ../lib/options.h
MIGSFLAGS = -imacros fsmutations.h
MIGCOMSFLAGS = -prefix diskfs_
libname = libdiskfs
installhdrs = diskfs.h

CPPFLAGS += -I../lib
CPPFLAGS += $(CPPFLAGS-$(notdir $<))
vpath %.c ../lib

include ../Makeconf

$(subst .c,.o,$(FSSRCS)): fs_S.h
dir-readdir.o $(subst .c,.o,$(IOSRCS)): io_S.h
$(subst .c,.o,$(FSYSSRCS)) boot-start.o: fsys_S.h
boot-start.o: fsys_reply_U.h
$(subst .c,.o,$(NOTIFYSRCS)): notify_S.h
$(subst .c,.o,$(INTSRCS)): interrupt_S.h
$(subst .c,.o,$(IFSOCKSRCS)): ifsock_S.h
dir-chg.o: ourfs_notify_U.h

notify-nosenders.o ports-clean.o: ../hurd/pager.h

$(OBJS): priv.h diskfs.h ../hurd/ioserver.h ../hurd/ports.h ../hurd/fshelp.h
file-chauthor.o: lithp.h

# We don't use those, so we're safe in breaking them.
ourfs_notify_U.h ourfs_notifyUser.c: $(includedir)/hurd/fs_notify.defs $(includedir)/hurd/hurd_types.defs
	$(CPP) $(CPPFLAGS) -Droutine=simpleroutine $(includedir)/hurd/fs_notify.defs \
	| $(MIGCOM) -prefix nowait_ -server /dev/null -user ourfs_notifyUser.c -header ourfs_notify_U.h