1#
2# Copyright (C) 2011-2012 Michael Tuexen
3#
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10#    notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12#    notice, this list of conditions and the following disclaimer in the
13#    documentation and/or other materials provided with the distribution.
14# 3. Neither the name of the project nor the names of its contributors
15#    may be used to endorse or promote products derived from this software
16#    without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21# ARE DISCLAIMED.	IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
22# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28# SUCH DAMAGE.
29#
30
31CFLAGS=/I. /W3
32
33CVARSDLL=-DSCTP_DEBUG -DSCTP_SIMPLE_ALLOCATOR -DSCTP_PROCESS_LEVEL_LOCKS
34CVARSDLL=$(CVARSDLL) -D__Userspace__ -D__Userspace_os_Windows
35CVARSDLL=$(CVARSDLL) -DINET -DINET6
36CVARSDLL=$(CVARSDLL) -D_LIB
37
38LINKFLAGS=/LIBPATH:. Ws2_32.lib
39
40usrsctp_OBJECTS = \
41	user_environment.obj \
42	user_mbuf.obj \
43	user_recv_thread.obj \
44	user_sctp_timer_iterate.obj \
45	user_socket.obj \
46	sctp_asconf.obj \
47	sctp_auth.obj \
48	sctp_bsd_addr.obj \
49	sctp_callout.obj \
50	sctp_cc_functions.obj \
51	sctp_crc32.obj \
52	sctp_indata.obj \
53	sctp_input.obj \
54	sctp_output.obj \
55	sctp_pcb.obj \
56	sctp_peeloff.obj \
57	sctp_sha1.obj \
58	sctp_ss_functions.obj \
59	sctp_sysctl.obj \
60	sctp_timer.obj \
61	sctp_userspace.obj  \
62	sctp_usrreq.obj \
63	sctputil.obj \
64	sctp6_usrreq.obj
65
66usrsctp_HEADERS = \
67	user_atomic.h \
68	user_environment.h \
69	user_inpcb.h \
70	user_ip6_var.h \
71	user_malloc.h \
72	user_mbuf.h \
73	user_recv_thread.h \
74	user_route.h \
75	user_socketvar.h \
76	user_uma.h \
77	user_queue.h \
78	user_ip_icmp.h \
79	user_ip6_var.h \
80	netinet\sctp.h \
81	netinet\sctp_asconf.h \
82	netinet\sctp_auth.h \
83	netinet\sctp_bsd_addr.h \
84	netinet\sctp_callout.h \
85	netinet\sctp_constants.h \
86	netinet\sctp_crc32.h \
87	netinet\sctp_header.h \
88	netinet\sctp_indata.h \
89	netinet\sctp_input.h \
90	netinet\sctp_lock_userspace.h \
91	netinet\sctp_os.h \
92	netinet\sctp_os_userspace.h \
93	netinet\sctp_output.h \
94	netinet\sctp_pcb.h \
95	netinet\sctp_peeloff.h \
96	netinet\sctp_process_lock.h \
97	netinet\sctp_sha1.h \
98	netinet\sctp_structs.h \
99	netinet\sctp_sysctl.h \
100	netinet\sctp_timer.h \
101	netinet\sctp_uio.h \
102	netinet\sctp_var.h \
103	netinet\sctputil.h \
104	netinet6\sctp6_var.h
105
106usrsctp.lib : $(usrsctp_OBJECTS)
107	lib /out:usrsctp.lib $(LINKFLAGS) $(usrsctp_OBJECTS)
108
109user_environment.obj : user_environment.c $(usrsctp_HEADERS)
110	cl $(CVARSDLL) $(CFLAGS) -c user_environment.c
111
112user_mbuf.obj  : user_mbuf.c $(usrsctp_HEADERS)
113	cl $(CVARSDLL) $(CFLAGS) -c user_mbuf.c
114
115user_recv_thread.obj: user_recv_thread.c $(usrsctp_HEADERS)
116	cl $(CVARSDLL) $(CFLAGS) -c user_recv_thread.c
117
118user_sctp_timer_iterate.obj : user_sctp_timer_iterate.c $(usrsctp_HEADERS)
119	cl $(CVARSDLL) $(CFLAGS) -c user_sctp_timer_iterate.c
120
121user_socket.obj : user_socket.c $(usrsctp_HEADERS)
122	cl $(CVARSDLL) $(CFLAGS) -c user_socket.c
123
124sctp_asconf.obj : netinet\sctp_asconf.c $(usrsctp_HEADERS)
125	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_asconf.c
126
127sctp_auth.obj : netinet\sctp_auth.c $(usrsctp_HEADERS)
128	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_auth.c
129
130sctp_bsd_addr.obj : netinet\sctp_bsd_addr.c $(usrsctp_HEADERS)
131	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_bsd_addr.c
132
133sctp_callout.obj : netinet\sctp_callout.c $(usrsctp_HEADERS)
134	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_callout.c
135
136sctp_cc_functions.obj : netinet\sctp_cc_functions.c $(usrsctp_HEADERS)
137	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_cc_functions.c
138
139sctp_crc32.obj : netinet\sctp_crc32.c $(usrsctp_HEADERS)
140	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_crc32.c
141
142sctp_indata.obj : netinet\sctp_indata.c $(usrsctp_HEADERS)
143	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_indata.c
144
145sctp_input.obj : netinet\sctp_input.c $(usrsctp_HEADERS)
146	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_input.c
147
148sctp_output.obj : netinet\sctp_output.c $(usrsctp_HEADERS)
149	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_output.c
150
151sctp_pcb.obj : netinet\sctp_pcb.c $(usrsctp_HEADERS)
152	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_pcb.c
153
154sctp_peeloff.obj : netinet\sctp_peeloff.c $(usrsctp_HEADERS)
155	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_peeloff.c
156
157sctp_sha1.obj : netinet\sctp_sha1.c $(usrsctp_HEADERS)
158	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_sha1.c
159
160sctp_ss_functions.obj : netinet\sctp_ss_functions.c $(usrsctp_HEADERS)
161	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_ss_functions.c
162
163sctp_sysctl.obj : netinet\sctp_sysctl.c $(usrsctp_HEADERS)
164	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_sysctl.c
165
166sctp_timer.obj : netinet\sctp_timer.c $(usrsctp_HEADERS)
167	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_timer.c
168
169sctp_userspace.obj : netinet\sctp_userspace.c $(usrsctp_HEADERS)
170	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_userspace.c
171
172sctp_usrreq.obj : netinet\sctp_usrreq.c $(usrsctp_HEADERS)
173	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctp_usrreq.c
174
175sctputil.obj : netinet\sctputil.c $(usrsctp_HEADERS)
176	cl $(CVARSDLL) $(CFLAGS) -c netinet\sctputil.c
177
178sctp6_usrreq.obj : netinet6\sctp6_usrreq.c $(usrsctp_HEADERS)
179	cl $(CVARSDLL) $(CFLAGS) -c netinet6\sctp6_usrreq.c
180
181clean:
182	del *.obj
183	del usrsctp.lib
184