1 # TCPIP.SYS - TCP/IP protocol driver
5 BASE_CFLAGS = -I./include -I../../../include
7 RESOURCE_OBJECT = $(TARGETNAME).coff
8 TCPIP_OBJECTS = tcpip/main.o tcpip/address.o tcpip/checksum.o \
9 tcpip/dispatch.o tcpip/fileobjs.o tcpip/info.o \
10 tcpip/pool.o tcpip/routines.o
11 DATALINK_OBJECTS = datalink/arp.o datalink/lan.o datalink/loopback.o
12 NETWORK_OBJECTS = network/icmp.o network/ip.o network/neighbor.o \
13 network/receive.o network/route.o network/router.o \
15 DATAGRAM_OBJECTS = transport/datagram/datagram.o
16 RAWIP_OBJECTS = transport/rawip/rawip.o
17 TCP_OBJECTS = transport/tcp/tcp.o
18 UDP_OBJECTS = transport/udp/udp.o
20 all: objects $(TARGETNAME).sys
25 objects/tcpip.o: $(TCPIP_OBJECTS)
26 $(LD) -r -o objects/tcpip.o $(TCPIP_OBJECTS)
28 objects/datalink.o: $(DATALINK_OBJECTS)
29 $(LD) -r -o objects/datalink.o $(DATALINK_OBJECTS)
31 objects/network.o: $(NETWORK_OBJECTS)
32 $(LD) -r -o objects/network.o $(NETWORK_OBJECTS)
34 objects/datagram.o: $(DATAGRAM_OBJECTS)
35 $(LD) -r -o objects/datagram.o $(DATAGRAM_OBJECTS)
37 objects/rawip.o: $(RAWIP_OBJECTS)
38 $(LD) -r -o objects/rawip.o $(RAWIP_OBJECTS)
40 objects/tcp.o: $(TCP_OBJECTS)
41 $(LD) -r -o objects/tcp.o $(TCP_OBJECTS)
43 objects/udp.o: $(UDP_OBJECTS)
44 $(LD) -r -o objects/udp.o $(UDP_OBJECTS)
46 OBJECTS = objects/tcpip.o objects/datalink.o objects/network.o \
47 objects/datagram.o objects/rawip.o objects/tcp.o objects/udp.o \
49 ../../../ntoskrnl/ntoskrnl.a ../ndis/ndis.a
51 $(TARGETNAME).coff: $(TARGETNAME).rc ../../../include/reactos/resource.h
55 *.o objects\*.o tcpip\*.o datalink\*.o network\*.o \
56 transport\datagram\*.o transport\rawip\*.o \
57 transport\tcp\*.o transport\udp\*.o $(TARGETNAME).coff \
58 $(TARGETNAME).a junk.tmp base.tmp temp.exp \
59 $(TARGETNAME).sys $(TARGETNAME).sym
62 *.o objects/*.o tcpip/*.o datalink/*.o network/*.o \
63 transport/datagram/*.o transport/rawip/*.o \
64 transport/tcp/*.o transport/udp/*.o $(TARGETNAME).coff \
65 $(TARGETNAME).a junk.tmp base.tmp temp.exp \
66 $(TARGETNAME).sys $(TARGETNAME).sym
70 $(TARGETNAME).sys: $(OBJECTS)
72 --dllname $(TARGETNAME).sys \
73 --def $(TARGETNAME).def \
75 --output-lib $(TARGETNAME).a
78 -specs=../../svc_specs \
79 -Wl,-e,_DriverEntry@8 \
80 -Wl,--base-file,base.tmp \
81 -Wl,--defsym,_end=end \
82 -Wl,--defsym,_edata=__data_end__ \
83 -Wl,--defsym,_etext=etext \
88 --dllname $(TARGETNAME).sys \
89 --base-file base.tmp \
90 --output-exp temp.exp \
91 --def $(TARGETNAME).edf
95 -specs=../../svc_specs \
96 -Wl,--image-base,0x10000 \
97 -Wl,-e,_DriverEntry@8 \
102 $(NM) --numeric-sort $(TARGETNAME).sys > $(TARGETNAME).sym
104 clean: $(CLEAN_FILES:%=%_clean)
106 $(CLEAN_FILES:%=%_clean): %_clean:
109 .PHONY: clean $(CLEAN_FILES:%=%_clean)
111 install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys
113 $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys
115 $(CP) $(TARGETNAME).sys $(FLOPPY_DIR)\drivers\$(TARGETNAME).sys
117 $(CP) $(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys
120 dist: $(DIST_DIR)/drivers/$(TARGETNAME).sys
122 $(DIST_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys
124 $(CP) $(TARGETNAME).sys ..\..\..\$(DIST_DIR)\drivers\$(TARGETNAME).sys
126 $(CP) $(TARGETNAME).sys ../../../$(DIST_DIR)/drivers/$(TARGETNAME).sys
129 #WITH_DEBUGGING = yes
130 #WIN32_LEAN_AND_MEAN = yes
131 #WARNINGS_ARE_ERRORS = yes
132 include ../../../rules.mak