POINT_SRC = pointTest.cc decode_group_structure.cc graph.cc primes.cc PERMUTE_SRC = permute.cc FORBENIUS_SRC = frobenius.cc CYCLIC_SRC = cyclic.cc decode_group_structure.cc PLOT_SRC = plot.cc ASPACE_SRC = aspace.cc GROUPS_SRC = groups.cc debug.cc BRUTEFORCE_SRC = bruteforce.cc debug.cc CUBEROOT_SRC = cuberoot.cc BSPACE_SRC = bspace.cc primes.cc BSPACE2_SRC = bspace2.cc primes.cc VERIFY_ORDER_SRC = verify_order.cc NORMAL_BASIS_SRC = normal_basis.cc # Override this on the commandline (ie. make M=7). M = 4 POINT_OBJ = $(POINT_SRC:.cc=.o) PERMUTE_OBJ = $(PERMUTE_SRC:.cc=.o) FORBENIUS_OBJ = $(FORBENIUS_SRC:.cc=.o) CYCLIC_OBJ = $(CYCLIC_SRC:.cc=.o) PLOT_OBJ = $(PLOT_SRC:.cc=.o) ASPACE_OBJ = $(ASPACE_SRC:.cc=.o) GROUPS_OBJ = $(GROUPS_SRC:.cc=.o) BRUTEFORCE_OBJ = $(BRUTEFORCE_SRC:.cc=.o) CUBEROOT_OBJ = $(CUBEROOT_SRC:.cc=.o) BSPACE_OBJ = $(BSPACE_SRC:.cc=.o) BSPACE2_OBJ = $(BSPACE2_SRC:.cc=.o) VERIFY_ORDER_OBJ = $(VERIFY_ORDER_SRC:.cc=.o) NORMAL_BASIS_OBJ = $(NORMAL_BASIS_SRC:.cc=.o) CXX = @CXX@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ SHELL = @SHELL@ CXXFLAGS = @CXXFLAGS@ -DLIBECC_M=${M} @CWD_FLAGS@ IFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ @CWD_LIBS@ PLOTLIBS = -lpng -lpngwriter -lz -lfreetype @LIBS@ MKDEPS = ../polynomial/mk.h .envsum all: testPoint permute frobenius cyclic plot aspace groups bruteforce cuberoot bspace normal_basis verify_order @echo "The following targets need 'M' to be defined (ie: make M=7 normal_basis)." @echo "testPoint permute frobenius plot cuberoot bspace bspace2 normal_basis verify_order" check: testPoint FORCE @echo @echo "Testing \"class point\" :" @./testPoint %.o: $(srcdir)/%.cc $(top_srcdir)/include/libecc/point.h .envsum $(CXX) $(CXXFLAGS) $(IFLAGS) $(CPPFLAGS) -c $< -o $@ pointTest.o: $(srcdir)/pointTest.cc $(MKDEPS) $(CXX) $(CXXFLAGS) $(IFLAGS) $(CPPFLAGS) -c $< -o $@ testPoint: $(POINT_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(POINT_OBJ) -lecc $(LIBS) -o $@ permute.o: $(srcdir)/permute.cc $(MKDEPS) $(CXX) $(CXXFLAGS) $(IFLAGS) $(CPPFLAGS) -c $< -o $@ permute: $(PERMUTE_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(PERMUTE_OBJ) -lecc $(LIBS) -o $@ frobenius.o: $(srcdir)/frobenius.cc $(MKDEPS) $(CXX) $(CXXFLAGS) $(IFLAGS) $(CPPFLAGS) -c $< -o $@ frobenius: $(FORBENIUS_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(FORBENIUS_OBJ) -lecc $(LIBS) -o $@ cyclic: $(CYCLIC_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(CYCLIC_OBJ) -lecc $(LIBS) -o $@ plot.o: $(srcdir)/plot.cc $(MKDEPS) $(CXX) $(CXXFLAGS) `freetype-config --cflags` $(IFLAGS) $(CPPFLAGS) -c $< -o $@ plot: $(PLOT_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(PLOT_OBJ) -lecc $(PLOTLIBS) -o $@ aspace.o: $(srcdir)/aspace.cc $(MKDEPS) $(CXX) $(CXXFLAGS) $(IFLAGS) $(CPPFLAGS) -c $< -o $@ aspace: $(ASPACE_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(ASPACE_OBJ) -lecc $(LIBS) -o $@ groups: $(GROUPS_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(GROUPS_OBJ) -lecc $(LIBS) -o $@ bruteforce.o: $(srcdir)/bruteforce.cc $(MKDEPS) $(CXX) $(CXXFLAGS) --param large-function-growth=1000 -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ bruteforce: $(BRUTEFORCE_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(BRUTEFORCE_OBJ) -lecc $(LIBS) -o $@ cuberoot.o: $(srcdir)/cuberoot.cc $(MKDEPS) $(CXX) $(CXXFLAGS) -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ cuberoot: $(CUBEROOT_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(CUBEROOT_OBJ) -lecc $(LIBS) -o $@ primes.o: $(srcdir)/primes.cc .envsum $(CXX) $(CXXFLAGS) -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ bspace.o: $(srcdir)/bspace.cc $(MKDEPS) $(CXX) $(CXXFLAGS) --param large-function-growth=1000 -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ bspace: $(BSPACE_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(BSPACE_OBJ) -lecc $(LIBS) -o $@ bspace2.o: $(srcdir)/bspace2.cc $(MKDEPS) $(CXX) $(CXXFLAGS) --param large-function-growth=1000 -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ bspace2: $(BSPACE2_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(BSPACE2_OBJ) -lecc $(LIBS) -o $@ normal_basis.o: $(srcdir)/normal_basis.cc $(MKDEPS) $(CXX) $(CXXFLAGS) --param large-function-growth=1000 -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ normal_basis: $(NORMAL_BASIS_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(NORMAL_BASIS_OBJ) -lecc $(LIBS) -o $@ verify_order.o: $(srcdir)/verify_order.cc $(MKDEPS) $(CXX) $(CXXFLAGS) --param large-function-growth=1000 -O3 -g0 $(IFLAGS) $(CPPFLAGS) -c $< -o $@ verify_order: $(VERIFY_ORDER_OBJ) $(CXX) $(LDFLAGS) -L$(top_builddir)/.libs -Wl,-rpath -Wl,$(top_builddir)/.libs $(VERIFY_ORDER_OBJ) -lecc $(LIBS) -o $@ .envsum: FORCE @echo "${CXX} ${CPPFLAGS} ${CXXFLAGS} ${IFLAGS} ${LDFLAGS}" > .envsumtmp @test -e .envsum || cp .envsumtmp .envsum @if ! cmp -s .envsumtmp .envsum; then cp .envsumtmp .envsum; fi clean: rm -f *.o testPoint permute frobenius cyclic plot aspace groups bruteforce cuberoot bspace bspace2 normal_basis verify_order core* troep* Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && \ CONFIG_HEADERS= CONFIG_LINKS= \ CONFIG_FILES=testsuite/point/$@ $(SHELL) ./config.status .PHONY: FORCE FORCE: