# Makefile to build the Raspberry Pi LPC1114 I/O Processor Expansion Board # SPI Agent Firmware library assembly for C# # Copyright (C)2014-2018, Philip Munts, President, Munts AM Corp. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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. # Override the following macro to build out of tree RASPBERRYPI_LPC1114_SRC ?= $(HOME)/rpi-mcu/expansion/LPC1114/src CSHARPSRC = $(RASPBERRYPI_LPC1114_SRC)/csharp CSRPCGEN = mono $(CSHARPSRC)/utilities/jrpcgen.exe -noserver CONFIGURATION = Release ILMERGE ?= ilmerge default: SPIAgent-ONC-RPC.dll # Build the projects SPIAgent-ONC-RPC.dll: "$(MSBUILD)" $(MSBUILDTARGET) $(MSBUILDFLAGS) SPIAgent-ONC-RPC.csproj ifeq ($(OS),Windows_NT) ifeq ($(CONFIGURATION), Release) "$(MSBUILD)" SPIAgent-ONC-RPC.shfbproj endif endif # Release the assembly and help file ifeq ($(OS),Windows_NT) ifeq ($(CONFIGURATION), Release) release: SPIAgent-ONC-RPC.dll mv SPIAgent-ONC-RPC.dll SPIAgent-ONC-RPC.orig.dll $(ILMERGE) /v4 /out:SPIAgent-ONC-RPC.dll SPIAgent-ONC-RPC.orig.dll RemoteTea.Net.dll cp SPIAgent-ONC-RPC.dll prebuilt cp SPIAgent-ONC-RPC.xml prebuilt cp SPIAgent-ONC-RPC.chm prebuilt mv SPIAgent-ONC-RPC.orig.dll SPIAgent-ONC-RPC.dll nuget pack cp *.nupkg prebuilt endif endif # Compile the RPC definition file spi_agent_oncrpc.cs: $(RASPBERRYPI_LPC1114_SRC)/spi-agent-oncrpc/spi_agent_oncrpc.x cp $(RASPBERRYPI_LPC1114_SRC)/spi-agent-oncrpc/spi_agent_oncrpc.x . $(CSRPCGEN) spi_agent_oncrpc.x rm spi_agent_oncrpc.x # Remove working files clean: csharp_mk_clean rm -rf IO.Interfaces # Include subordinate makefiles include $(CSHARPSRC)/include/csharp.mk