1# 2# digraphs: 3# 4# This file is part of the build system of a GAP kernel extension. 5# Requires automake. 6# 7 8ACLOCAL_AMFLAGS = -I m4 9 10if WITH_INCLUDED_PLANARITY 11 SUBDIRS = @PLANARITY_SUITE_DIR@ 12 PLANAR_INCLUDE = -I$(top_srcdir)/@PLANARITY_SUITE_DIR@/ 13endif 14 15if WITH_INCLUDED_BLISS 16 DIGRAPHS_INCLUDE = -I$(top_srcdir)/extern/ 17endif 18 19BINARCHDIR = bin/$(GAPARCH) 20GAPINSTALLLIB = $(abs_top_srcdir)/$(BINARCHDIR) 21 22lib_LTLIBRARIES = digraphs.la 23 24pkginclude_HEADERS = src/bitarray.h 25pkginclude_HEADERS += src/conditions.h 26pkginclude_HEADERS += src/digraphs-debug.h 27pkginclude_HEADERS += src/digraphs.h 28pkginclude_HEADERS += src/homos-graphs.h 29pkginclude_HEADERS += src/homos.h 30pkginclude_HEADERS += src/perms.h 31pkginclude_HEADERS += src/planar.h 32pkginclude_HEADERS += src/schreier-sims.h 33 34if WITH_INCLUDED_BLISS 35 pkginclude_HEADERS += extern/bliss-0.73/bignum.hh 36 pkginclude_HEADERS += extern/bliss-0.73/bliss_C.h 37 pkginclude_HEADERS += extern/bliss-0.73/defs.hh 38 pkginclude_HEADERS += extern/bliss-0.73/graph.hh 39 pkginclude_HEADERS += extern/bliss-0.73/heap.hh 40 pkginclude_HEADERS += extern/bliss-0.73/kqueue.hh 41 pkginclude_HEADERS += extern/bliss-0.73/kstack.hh 42 pkginclude_HEADERS += extern/bliss-0.73/orbit.hh 43 pkginclude_HEADERS += extern/bliss-0.73/partition.hh 44 pkginclude_HEADERS += extern/bliss-0.73/timer.hh 45 pkginclude_HEADERS += extern/bliss-0.73/uintseqhash.hh 46 pkginclude_HEADERS += extern/bliss-0.73/utils.hh 47endif 48 49digraphs_la_SOURCES = src/digraphs.c 50digraphs_la_SOURCES += src/bitarray.c 51digraphs_la_SOURCES += src/conditions.c 52digraphs_la_SOURCES += src/homos.c 53digraphs_la_SOURCES += src/homos-graphs.c 54digraphs_la_SOURCES += src/perms.c 55digraphs_la_SOURCES += src/planar.c 56digraphs_la_SOURCES += src/schreier-sims.c 57 58if WITH_INCLUDED_BLISS 59 digraphs_la_SOURCES += extern/bliss-0.73/defs.cc 60 digraphs_la_SOURCES += extern/bliss-0.73/graph.cc 61 digraphs_la_SOURCES += extern/bliss-0.73/partition.cc 62 digraphs_la_SOURCES += extern/bliss-0.73/orbit.cc 63 digraphs_la_SOURCES += extern/bliss-0.73/uintseqhash.cc 64 digraphs_la_SOURCES += extern/bliss-0.73/heap.cc 65 digraphs_la_SOURCES += extern/bliss-0.73/timer.cc 66 digraphs_la_SOURCES += extern/bliss-0.73/utils.cc 67 digraphs_la_SOURCES += extern/bliss-0.73/bliss_C.cc 68endif 69 70digraphs_la_CPPFLAGS = $(GAP_CPPFLAGS) 71digraphs_la_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) 72 73digraphs_la_CXXFLAGS = -O3 -march=native -mpopcnt 74digraphs_la_CXXFLAGS += $(PLANAR_INCLUDE) $(DIGRAPHS_INCLUDE) 75digraphs_la_CXXFLAGS += $(CODE_COVERAGE_CXXFLAGS) 76digraphs_la_CXXFLAGS += $(WARNING_CXXFLAGS) 77 78digraphs_la_CFLAGS = -O3 -march=native -mpopcnt 79digraphs_la_CFLAGS += $(GAP_CFLAGS) $(PLANAR_INCLUDE) $(DIGRAPHS_INCLUDE) 80digraphs_la_CFLAGS += $(CODE_COVERAGE_CFLAGS) 81digraphs_la_CFLAGS += $(WARNING_CFLAGS) 82 83digraphs_la_LDFLAGS = $(GAP_LDFLAGS) -module -avoid-version 84 85if WITH_INCLUDED_PLANARITY 86digraphs_la_LIBADD = @PLANARITY_SUITE_DIR@/libplanarity.la 87endif 88 89if SYS_IS_CYGWIN 90digraphs_la_LDFLAGS += -no-undefined -version-info 0:0:0 -Wl,$(GAPROOT)/bin/$(GAPARCH)/gap.dll 91endif 92 93all-local: digraphs.la 94 $(mkdir_p) $(top_srcdir)/$(BINARCHDIR) $(top_srcdir)/bin/lib 95if WITH_INCLUDED_PLANARITY 96 cp -RL @PLANARITY_SUITE_DIR@/.libs/* $(top_srcdir)/bin/lib/ 97endif 98if SYS_IS_CYGWIN 99 cp .libs/digraphs.dll $(GAPINSTALLLIB)/digraphs.so 100if WITH_INCLUDED_PLANARITY 101 cp bin/lib/cygplanarity-0.dll $(GAPROOT)/.libs 102endif 103else 104 cp .libs/digraphs.so $(GAPINSTALLLIB)/ 105endif 106if KERNEL_DEBUG 107 @echo "SUCCESS (debug mode enabled)!" 108else 109 @echo "SUCCESS!" 110endif 111 112clean-local: 113 find . -name '*.gcda' -delete 114 115distclean-local: 116 rm -f *.tmp 117 rm -f coverage.info 118 rm -rf coverage/* 119 rm -rf bin/* 120 121doc: doc/manual.six 122 123doc/manual.six: doc/*.xml PackageInfo.g 124 ($(GAPROOT)/bin/gap.sh -A makedoc.g) 125 126gaplint: 127 gaplint *.g gap/* 128 gaplint doc/*.xml 129 gaplint tst/testinstall.tst tst/standard/*.tst tst/extreme/*.tst tst/workspaces/*.tst 130 131cpplint: 132 cpplint src/*.[ch] 133 134lint: gaplint cpplint 135 136format: 137 clang-format -i src/*.[hc] 138 139.PHONY: debug, lint, format 140 141superclean: distclean 142 git clean -xdf --exclude *.swp --exclude *.swo 143.PHONY: superclean 144