From 539d9ea87c35a92d18bb84ee5b0b5bc334da469e Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Sun, 17 Jun 2018 08:38:26 +0200 Subject: [PATCH] Add Makefile-based build system for example app of Win32 port Symmetry with unix port - it also has a Makefile-based build system --- ports/win32/Common.mk | 51 +++++++++++++++++++++++++++++ ports/win32/example_app/Makefile | 55 ++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 ports/win32/Common.mk create mode 100644 ports/win32/example_app/Makefile diff --git a/ports/win32/Common.mk b/ports/win32/Common.mk new file mode 100644 index 0000000..2260162 --- /dev/null +++ b/ports/win32/Common.mk @@ -0,0 +1,51 @@ +# +# Copyright (c) 2001, 2002 Swedish Institute of Computer Science. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +# SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +# OF SUCH DAMAGE. +# +# This file is part of the lwIP TCP/IP stack. +# +# Author: Adam Dunkels +# + +CC=gcc + +# Architecture specific files. +LWIPARCH?=$(CONTRIBDIR)/ports/win32 +SYSARCH?=$(LWIPARCH)/sys_arch.c +ARCHFILES=$(SYSARCH) $(LWIPARCH)/pcapif.c \ + $(LWIPARCH)/pcapif_helper.c $(LWIPARCH)/sio.c + +WIN32_COMMON_MK_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) +include $(WIN32_COMMON_MK_DIR)/../Common.allports.mk + +PCAPDIR=$(PCAP_DIR)/Include +LDFLAGS+=-L$(PCAP_DIR)/lib -lwpcap -lpacket +# -Wno-format: GCC complains about non-standard 64 bit modifier needed for MSVC runtime +CFLAGS+=-I$(PCAPDIR) -Wno-format + +pcapif.o: + $(CC) $(CFLAGS) -Wno-error -Wno-redundant-decls -c $(<:.o=.c) +pcapif_helper.o: + $(CC) $(CFLAGS) -std=c99 -Wno-redundant-decls -c $(<:.o=.c) diff --git a/ports/win32/example_app/Makefile b/ports/win32/example_app/Makefile new file mode 100644 index 0000000..452af7a --- /dev/null +++ b/ports/win32/example_app/Makefile @@ -0,0 +1,55 @@ +# +# Copyright (c) 2001, 2002 Swedish Institute of Computer Science. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +# SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +# OF SUCH DAMAGE. +# +# This file is part of the lwIP TCP/IP stack. +# +# Author: Adam Dunkels +# + +all compile: example_app makefsdata +.PHONY: all + +include ../Common.mk + +CFLAGS+=-I$(CONTRIBDIR)/examples/example_app + +MAKEFSDATAOBJS=$(notdir $(MAKEFSDATAFILES:.c=.o)) + +clean: + cmd /c del /q *.o $(LWIPLIBCOMMON) $(APPLIB) test.exe *.s .depend* *.map + +depend dep: .depend + +include .depend + +.depend: $(CONTRIBDIR)/examples/example_app/test.c default_netif.c $(LWIPFILES) $(APPFILES) $(MAKEFSDATAFILES) + $(CCDEP) $(CFLAGS) -MM $^ > .depend || cmd /c del .depend + +example_app: .depend $(LWIPLIBCOMMON) $(APPLIB) default_netif.o test.o + $(CC) $(CFLAGS) -o example_app test.o default_netif.o -Wl,--start-group $(APPLIB) $(LWIPLIBCOMMON) -Wl,--end-group $(LDFLAGS) -Xlinker -Map=test.map + +makefsdata: .depend $(MAKEFSDATAOBJS) + $(CC) $(CFLAGS) -o makefsdata $(MAKEFSDATAOBJS)