summaryrefslogtreecommitdiff
path: root/pfinet/Makefile
blob: 3343b05031236030dd9996cf1f5614425247fbf5 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#
#   Copyright (C) 1995,96,97,2000 Free Software Foundation, Inc.
#
#   This file is part of the GNU Hurd.
#
#   The GNU Hurd 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.
#
#   The GNU Hurd 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., 59 Temple Place - Suite 330, Boston, MA  02111, USA.

dir		:= pfinet
makemode	:= server

core-srcs	:= datagram.c						      \
		   dev.c						      \
		   dev_mcast.c						      \
		   dst.c						      \
		   iovec.c						      \
		   neighbour.c						      \
		   skbuff.c						      \
		   sock.c						      \
		   utils.c
arch-lib-srcs   := checksum.c old-checksum.c
ethernet-srcs	:= eth.c
ipv4-srcs	:= af_inet.c						      \
		   arp.c						      \
		   devinet.c						      \
		   fib_frontend.c					      \
		   fib_hash.c						      \
		   fib_semantics.c					      \
		   icmp.c						      \
		   igmp.c						      \
		   ip_forward.c						      \
		   ip_fragment.c					      \
		   ip_input.c						      \
		   ip_options.c						      \
		   ip_output.c						      \
		   ip_sockglue.c					      \
		   protocol.c						      \
		   raw.c						      \
		   route.c						      \
		   syncookies.c						      \
		   sysctl_net_ipv4.c					      \
		   tcp.c						      \
		   tcp_input.c						      \
		   tcp_ipv4.c						      \
		   tcp_output.c						      \
		   tcp_timer.c						      \
		   timer.c						      \
		   udp.c						      \
		   utils.c
LINUXSRCS	= $(core-srcs) $(ethernet-srcs) $(ipv4-srcs) $(arch-lib-srcs)
SRCS		= sched.c timer-emul.c socket.c main.c ethernet.c \
		  io-ops.c socket-ops.c misc.c time.c options.c loopback.c \
		  kmem_cache.c stubs.c dummy.c tunnel.c pfinet-ops.c \
		  iioctl-ops.c
MIGSRCS		= ioServer.c socketServer.c startup_notifyServer.c \
		  pfinetServer.c iioctlServer.c
OBJS		:= $(patsubst %.c,%.o,$(LINUXSRCS) $(SRCS) $(MIGSRCS))
LCLHDRS		= config.h mapped-time.h mutations.h pfinet.h
LINUXHDRS	= arp.h datalink.h eth.h icmp.h ip.h ipx.h ipxcall.h p8022.h \
		  p8022call.h protocol.h psnap.h psnapcall.h \
		  rarp.h raw.h route.h snmp.h sock.h tcp.h udp.h
FROBBEDLINUXHEADERS = autoconf.h config.h errno.h etherdevice.h fcntl.h \
	icmp.h if.h if_arp.h if_ether.h igmp.h in.h inet.h interrupt.h \
	ip.h ip_fw.h ipx.h kernel.h major.h malloc.h mm.h net.h netdevice.h \
	notifier.h param.h route.h sched.h skbuff.h socket.h sockios.h stat.h \
	string.h tcp.h termios.h time.h timer.h types.h udp.h un.h wait.h
ASMHEADERS=bitops.h segment.h system.h

HURDLIBS=trivfs fshelp threads ports ihash shouldbeinlibc iohelp

target = pfinet

include ../Makeconf

vpath %.c $(addprefix $(srcdir)/linux-src/net/,core ethernet ipv4)
vpath %.c $(srcdir)/linux-src/arch/$(asm_syntax)/lib
vpath %.S $(srcdir)/linux-src/arch/$(asm_syntax)/lib

CPPFLAGS += '-D_HURD_SYSTYPE="$(asm_syntax)"'	\
	    -imacros $(srcdir)/config.h		\
	    -I$(srcdir)/glue-include		\
	    -I$(srcdir)/linux-src/include

io-MIGSFLAGS = -imacros $(srcdir)/mutations.h
socket-MIGSFLAGS = -imacros $(srcdir)/mutations.h

# cpp doesn't automatically make dependencies for -imacros dependencies. argh.
io_S.h ioServer.c socket_S.h socketServer.c: mutations.h
$(OBJS): config.h

lndist: lndist-linux-inet-files lndist-linux-files lndist-asm-files

lndist-linux-inet-files: $(top_srcdir)/hurd-snap/$(dir)/linux-inet
	ln $(addprefix $(srcdir)/linux-inet/,$(LINUXSRCS) $(UNUSEDSRC) $(LINUXHDRS)) $<

lndist-linux-files: $(top_srcdir)/hurd-snap/$(dir)/linux
	ln $(addprefix $(srcdir)/linux/,$(FROBBEDLINUXHEADERS)) $<

lndist-asm-files: $(top_srcdir)/hurd-snap/$(dir)/asm
	ln $(addprefix $(srcdir)/asm/,$(ASMHEADERS)) $<

$(top_srcdir)/hurd-snap/$(dir)/linux-inet:
	mkdir $@
$(top_srcdir)/hurd-snap/$(dir)/linux:
	mkdir $@
$(top_srcdir)/hurd-snap/$(dir)/asm:
	mkdir $@