| 
							- ##
 - ## University of Bristol – Open Access Software Licence
 - ## Copyright (c) 2016, The University of Bristol, a chartered
 - ## corporation having Royal Charter number RC000648 and a charity
 - ## (number X1121) and its place of administration being at Senate
 - ## House, Tyndall Avenue, Bristol, BS8 1TH, United Kingdom.
 - ## 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.
 - ##
 - ## 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.
 - ##
 - ## Any use of the software for scientific publications or commercial
 - ## purposes should be reported to the University of Bristol
 - ## (OSI-notifications@bristol.ac.uk and quote reference 2668). This is
 - ## for impact and usage monitoring purposes only.
 - ##
 - ## Enquiries about further applications and development opportunities
 - ## are welcome. Please contact elisabeth.oswald@bristol.ac.uk
 - ##
 - 
 - ##
 - ## This file was based on files that are part of the libopencm3 project.
 - ## See below for licecning information.
 - ##
 - ## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
 - ## Copyright (C) 2010 Piotr Esden-Tempski <piotr@esden.net>
 - ## Copyright (C) 2011 Fergus Noble <fergusnoble@gmail.com>
 - ##
 - ## This library is free software: you can redistribute it and/or modify
 - ## it under the terms of the GNU Lesser General Public License as published by
 - ## the Free Software Foundation, either version 3 of the License, or
 - ## (at your option) any later version.
 - ##
 - ## This library 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 Lesser General Public License for more details.
 - ##
 - ## You should have received a copy of the GNU Lesser General Public License
 - ## along with this library.  If not, see <http://www.gnu.org/licenses/>.
 - 
 - # Remove to display makefile output
 - Q		:= @
 - 
 - BINARY = project
 - 
 - FP_FLAGS	?= -msoft-float
 - ARCH_FLAGS	= -mthumb -mcpu=cortex-m0 $(FP_FLAGS)
 - 
 - ###############################################################################
 - # Executables
 - 
 - PREFIX		?= arm-none-eabi
 - CC		:= $(PREFIX)-gcc
 - LD		:= $(PREFIX)-gcc
 - OBJCOPY		:= $(PREFIX)-objcopy
 - OBJDUMP		:= $(PREFIX)-objdump
 - 
 - ###############################################################################
 - # Source files
 - 
 - LDSCRIPT	= $(BINARY).ld
 - #OBJS		+= $(BINARY).o
 - ELMOASMFUNCTIONS = elmoasmfunctions.o
 - 
 - #!!! PLEASE ADD YOUR SOURCES, HEADERS AND OBJECTS HERE !!!
 - SOURCES = ntt.c poly.c polyvec.c reduce.c $(BINARY).c
 - HEADERS = ntt.h poly.h polyvec.h reduce.h params.h
 - OBJECTS = ntt.o poly.o polyvec.o reduce.o $(BINARY).o
 - 
 - ###############################################################################
 - # C flags
 - 
 - CFLAGS += -Os -g
 - CFLAGS += -Wextra -Wshadow -Wimplicit-function-declaration
 - CFLAGS += -Wredundant-decls -Wmissing-prototypes -Wstrict-prototypes
 - CFLAGS += -fno-common -ffunction-sections -fdata-sections
 - 
 - ###############################################################################
 - # C & C++ preprocessor common flags
 - 
 - CPPFLAGS	+= -MD
 - CPPFLAGS	+= -Wall -Wundef
 - 
 - ###############################################################################
 - # Linker flags
 - 
 - LDFLAGS		+= --static -nostartfiles
 - LDFLAGS		+= -T$(LDSCRIPT)
 - LDFLAGS		+= -Wl,-Map=$(*).map
 - LDFLAGS		+= -Wl,--gc-sections
 - 
 - 
 - ###############################################################################
 - # Used libraries
 - 
 - LDLIBS		+= -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group
 - 
 - ###############################################################################
 - ###############################################################################
 - ###############################################################################
 - 
 - all: elf bin list
 - elf: $(BINARY).elf
 - bin: $(BINARY).bin
 - list: $(BINARY).list
 - 
 - images: $(BINARY).images
 - 
 - $(BINARY).images: $(BINARY).bin $(BINARY).list $(BINARY).map
 - 
 - $(BINARY).bin: $(BINARY).elf
 - 	$(Q)$(OBJCOPY) -Obinary $(BINARY).elf $(BINARY).bin
 - 
 - $(BINARY).list: $(BINARY).elf
 - 	$(Q)$(OBJDUMP) -S $(BINARY).elf > $(BINARY).list
 - 
 - $(BINARY).elf $(BINARY).map: $(OBJECTS) $(LDSCRIPT)
 - 	$(Q)$(LD) $(LDFLAGS) vector.o $(ARCH_FLAGS) $(OBJECTS) $(ELMOASMFUNCTIONS) $(LDLIBS) -o $(BINARY).elf
 - 
 - %.o: %.c $(HEADER)
 - 		$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) $(ARCH_FLAGS) -c -o $@ $<
 - 
 - clean:
 - 	$(Q)$(RM) $(OBJECTS) $(BINARY).d $(BINARY).elf $(BINARY).bin $(BINARY).list $(BINARY).map
 
 
  |