# $OpenXM: OpenXM/src/ox_ntl/Makefile.in,v 1.3 2004/07/04 11:38:42 iwane Exp $
# @configure_input@ ###
#
# build and install NTL
# % make install-ntl
#
# build ox_ntl
# % make
#
PROG=ox_ntl
OpenXM_HOME=$(PWD)/../..
PREFIX=$(OpenXM_HOME)
CXX=@CXX@
CC =@CC@
RM ?= /bin/rm
CP ?= /bin/cp
MAKE ?= make
LINT ?= lint
CFLAGS=@OPTFLAG@ @CFLAGS@ @CPPFLAGS@
CXXFLAGS=@OPTFLAG@ @CXXFLAGS@
CPPFLAGS=-I$(PREFIX)/include
# WITH_GMP <== for ox_toolkit -- include "gmp.h"
# __GMP_FALE_H__ <== -- dont include "gmp_fake.h"
DEFS=-DWITH_GMP=1 -D__GMP_FAKE_H__ @DEFS@
MASTER_CITES=ftp.math.sci.kobe-u.ac.jp
NTL_LIBDIR=$(PREFIX)/lib/NTL
LIBDIR=$(PREFIX)/lib
LIBS=-L$(LIBDIR) -L$(NTL_LIBDIR) -lntl -lgmp -lox -lgc @LIBS@
LDFLAGS=@LDFLAGS@
DISTDIR=$(OpenXM_HOME)/../OpenXM_dist
DISTFILEDIR=ntl-5.3.1
DISTFILE=ntl-5.3.1.tar.gz
WORK=$(PWD)/work
GMPOPT=NTL_GMP_LIP=on GMP_PREFIX=$(OpenXM_HOME) GMP_INCDIR=$(OpenXM_HOME)/include GMP_LIBDIR=$(OpenXM_HOME)/lib
# lint
LINT=lint
LINTFLAGS=-I$(PREFIX)/include
.SUFFIXES: .cpp .o .c
SRCC=oxserv.c oxstack.c
SRCP=main.cpp ntl.cpp ntlconv.cpp cmon.cpp
OBJC=$(SRCC:.c=.o) $(SRCP:.cpp=.o)
all: $(PROG)
$(PROG): $(OBJC) $(LIBDIR)/libox.a $(NTL_LIBDIR)/libntl.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJC) -o $@ $(LIBS)
oxserv.c: oxserv.h oxstack.h
oxstack.c: oxstack.h
main.cpp: oxserv.h ntl.h oxstack.h
cmon.cpp: ntl.h
ntl.cpp: ntl.h
ntlconv.cpp: ntl.h
.cpp.o:
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(DEFS) -c $< -o $@
.c.o:
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c $< -o $@
install: all
$(CP) $(PROG) $(PREFIX)/bin
clean:
-$(RM) -f $(OBJC) $(PROG) ox_ntl_debug oxserv_debug
-$(RM) -fr $(WORK)
@-$(RM) -f .*-ntl-done
lint:
$(LINT) $(LINTFLAGS) $(SRCC)
fetch-ntl:
@if [ ! -f .fetch-ntl-done ]; then \
$(OpenXM_HOME)/bin/oxfetch.sh ftp://$(MASTER_CITES)/pub/OpenXM/misc/1.2.2/$(DISTFILE) $(DISTDIR); \
touch .fetch-ntl-done; \
fi
extract-ntl: fetch-ntl
-@mkdir -p $(WORK)
@if [ ! -f .extract-ntl-done ]; then \
(cd $(WORK); tar xvzf $(DISTDIR)/$(DISTFILE)); \
touch .extract-ntl-done; \
fi
patch-ntl: extract-ntl
@if [ ! -f .patch-ntl-done ]; then \
touch .patch-ntl-done; \
fi
build-ntl: patch-ntl
@if [ ! -f .build-ntl-done ]; then \
(cd $(WORK)/$(DISTFILEDIR)/src; \
export LD_LIBRARY_PATH=$(OpenXM_HOME)/lib; \
./configure LIBDIR=$(NTL_LIBDIR) PREFIX=$(PREFIX) $(GMPOPT); \
$(MAKE)); \
touch .build-ntl-done; \
fi
install-ntl: build-ntl
@if [ ! -f .install-ntl-done ]; then \
(cd $(WORK)/$(DISTFILEDIR)/src; $(MAKE) install); \
touch .install-ntl-done; \
fi
#########################################
# DEBUG
#########################################
ox_ntl_debug: ntl.cpp ntl.h ntlconv.cpp
$(CXX) $(CXXFLAGS) -g -D__NTL_DEBUG=1 -L/usr/local/lib -L$(LIBDIR) -L$(NTL_LIBDIR) ntl.cpp ntlconv.o -o $@ -lntl -lgmp -lox -lgc
oxserv_debug: oxserv.h oxserv.c
$(CC) $(CFLAGS) $(CPPFLAGS) -g -D__OXSERV_DEBUG=1 -L$(LIBDIR) oxserv.c oxstack.o -o $@ -lox -lgc