# -*- Makefile -*-

##################
## Source code ###
##################

INTERFACE2 = interrupted

#  NCAlgebras/SuffixTree \

INTERFACE = \
	myalloc \
	matrix-ncbasis \
	M2FreeAlgebraQuotient \
	M2FreeAlgebra \
	NCAlgebras/Word \
	NCAlgebras/NCReduction \
	NCAlgebras/FreeAlgebraQuotient \
	NCAlgebras/FreeAlgebra \
	NCAlgebras/FreeMonoid \
	NCAlgebras/WordTable \
	NCAlgebras/SuffixTree \
	NCAlgebras/NCGroebner \
	NCAlgebras/NCF4 \
	NCAlgebras/OverlapTable \
	NCResolutions/nc-res-computation \
	Polynomial \
	monomial-collection \
	eigen \
	monomial-sets \
	mutablecomplex \
	localring \
	bibasis/bibasis \
	bibasis/allocator \
	bibasis/launcher \
	bibasis/monom \
	bibasis/monomDL \
	bibasis/monomDRL \
	bibasis/monomLex \
	bibasis/settings-manager \
	schreyer-resolution/res-monomial-sorter \
	schreyer-resolution/res-varpower-monomial \
	schreyer-resolution/res-f4-monlookup \
	schreyer-resolution/res-moninfo-dense \
	schreyer-resolution/res-moninfo-sparse \
	schreyer-resolution/res-moninfo \
	schreyer-resolution/res-poly-ring \
	schreyer-resolution/res-f4-m2-interface \
	schreyer-resolution/res-schreyer-frame \
	schreyer-resolution/res-f4 \
	schreyer-resolution/res-f4-computation \
	schreyer-resolution/res-gausser \
	schreyer-resolution/res-gausser-ZZp \
	schreyer-resolution/res-gausser-QQ \
	schreyer-resolution/res-gausser-QQ-hybrid \
	f4/f4 \
	f4/f4-mem \
	f4/f4-monlookup \
	f4/f4-computation \
	f4/f4-spairs \
	f4/f4-m2-interface \
	f4/hilb-fcn \
	f4/monhashtable \
	monsort \
	f4/moninfo \
	f4/ntuple-monomial \
	f4/varpower-monomial \
	f4/gausser \
	betti \
	util \
	GF \
	ZZ \
	ZZp \
	reader \
	matrix-stream \
	cra \
	aring-zz-gmp \
	aring-qq-gmp \
	aring-zz-flint \
	aring-qq-flint \
	aring-zzp-flint \
	aring-RRi \
	aring-RR \
	aring-CC \
	aring-RRR \
	aring-CCC \
	aring-tower \
	aring-gf-flint-big \
	aring-gf-flint \
	aring-m2-gf \
	aring-zzp \
	aring-gf-givaro \
	aring-zzp-ffpack \
	aring \
	schurSn \
	schur2 \
	dpoly \
	tower \
	interreduce \
	gb-test1 \
	finalize \
	NAG \
	SLP \
	overflow \
	memory-status \
	imonorder \
	sagbi \
	monideal-minprimes \
	lapack \
	LLL \
	fractionfreeLU \
	ntl-interface \
	fplll-interface \
	mat \
	dmat \
	coeffrings \
	Eschreyer \
	gbweight \
	qring \
	polyquotient \
	poly \
	debug \
	comp \
	comp-gb \
	comp-gb-proxy \
	comp-gb-declared \
	comp-res \
	res-a0 \
	res-a0-poly \
	res-a1 \
	res-a1-poly \
	res-a2 \
	reducedgb \
	reducedgb-field \
	reducedgb-marked \
	reducedgb-field-local \
	reducedgb-ZZ \
	montable \
	montableZZ \
	schorder \
	assprime \
	buffer \
	comb \
	det \
	frac \
	franzi-brp \
	freemod \
	gb-default \
	gb-homog2 \
	gb-sugarless \
	gb-toric \
	gb-walk \
	gbring \
	gauss \
	hermite \
	hilb \
	int-bag \
	intarray \
	matrix \
	matrix-con \
	mem \
	monideal \
	monoid \
	monomial \
	ntuple \
	polyring \
	pfaff \
	relem \
	ring \
	ringmap \
	schur \
	skew \
	skewpoly \
	solvable \
	spair \
	text-io \
	varpower \
	weylalg

COMMANDS = \
	ntl-internal \
	ntl-debugio \
	matrix-kbasis \
	matrix-symm \
	matrix-sort \
	ring-vecs \
	res-a2-gb \
	engine \
	interface/aring \
	interface/cra \
	interface/factory \
	interface/flint \
	interface/freemodule \
	interface/groebner \
	interface/matrix \
	interface/monoid \
	interface/monomial-ideal \
	interface/monomial-ordering \
	interface/mutable-matrix \
	interface/polyroots \
	interface/random \
	interface/ring \
	interface/ringelement \
	interface/ringmap \
	franzi-gb \
	franzi-interface

NAMES_H = \
	m2tbb \
	f4/f4-types \
	f4/memblock \
	VectorArithmetic \
	ARingElem \
	MemoryBlock \
	NCAlgebras/Range \
	ringelem \
	style \
	hash \
	index \
	res-a0-pair

C_FILES = error table exptable complex

D_FILES = 
DD_FILES = #test

##############################
## end of source code files ##
##############################

CC_FILES := $(INTERFACE) $(INTERFACE2) $(COMMANDS)
FILES := $(CC_FILES) $(C_FILES)
LOFILES := $(addsuffix .lo,$(CC_FILES) $(C_FILES))
ENGINE_CCFILES := $(addsuffix .cpp,$(CC_FILES))
ENGINE_CFILES := $(addsuffix .c,$(C_FILES))
ENGINE_DDFILES := $(addsuffix .dd,$(DD_FILES))
ENGINE_DFILES := $(addsuffix .d,$(D_FILES))
ENGINE_OFILES := $(addsuffix .o,$(C_FILES) $(CC_FILES) $(D_FILES) $(DD_FILES))

ifeq "$(SHARED)" "yes"
ENGINE_OBJFILES := $(LOFILES)
else
ENGINE_OBJFILES := $(ENGINE_OFILES)
endif

HHFILES := $(addsuffix .hpp, $(NAMES_H) $(NAMES) $(INTERFACE) $(INTERFACE2)) $(E_H)
ENGINE_SRCFILES := $(ENGINE_CCFILES) $(ENGINE_CFILES) $(HHFILES) $(ENGINE_DDFILES) $(ENGINE_DFILES) 
