# # Copyright (C) 2022 Stephen Hewitt, cambridgeclarion.org # # This file is part of a programme to research fast Fermat factorisation algorithms. # # This is free software: you can redistribute it and/or modify # it under the terms of version 3 of the GNU General Public License as # published by the Free Software Foundation. # # It 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 General Public License for more details. # # You should have received a copy of the GNU General Public Licence # along with this programme. If not, see . # # A copy of the licence is also available at # https://www.cambridgeclarion.org/download/GPLv3.txt # It has the following cryptographic hash # SHA256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 # This makefile is for research on Fermat factorisation algorithms. # # It has been used with GNU make on GNU/Linux # # For more information see the articles on www.cambridgeclarion.org # "Empirical explorations of faster Fermat factorisation" by Stephen Hewitt # # This builds "optimise", which is a programme to generate the set of possible optimum points # for a filter published in the Appendix of article /61.html # # It also builds "series" which is a programme to calculate general information about # series of filter reduction ratios. # This makefile puts this information into a file "series.gh", which is included in optimise.cc # # With further processing, the information in series.gh can also be used for other purposes, including # to generate the tables of reduction ratios published in article /42.html # CFLAGS=-g -Wreturn-type MAKEFLAGS=-r all: optimise %.o: %.cc g++ -c -std=c++17 -O0 $(CFLAGS) -o $@ $*.cc OPTIMISE_OBJS=\ optimise.o \ SERIES_OBJS=\ series.o \ stop2.o \ TO_CLEAN=\ $(SERIES_OBJS) \ series \ series.gh \ $(OPTIMISE_OBJS) \ optimise \ clean: rm -f $(TO_CLEAN) optimise: $(OPTIMISE_OBJS) series.gh g++ -std=c++17 $(OPTIMISE_OBJS) $(CFLAGS) $(LDFLAGS) -o $@ series: $(SERIES_OBJS) g++ $(SERIES_OBJS) $(CFLAGS) $(LDFLAGS) -o $@ series.gh: series rm -f $@ ./series > $@ || rm -f $@ optimise.o: series.gh