[BACK]Return to Makefile.in CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_ntl

File: [local] / OpenXM / src / ox_ntl / Makefile.in (download)

Revision 1.6, Fri Oct 18 01:28:52 2013 UTC (10 years, 6 months ago) by iwane
Branch: MAIN
CVS Tags: RELEASE_1_3_1_13b, HEAD
Changes since 1.5: +14 -13 lines

update NTL 5.3.3 -> 6.0.0 and fix compile errors

# $OpenXM: OpenXM/src/ox_ntl/Makefile.in,v 1.6 2013/10/18 01:28:52 iwane Exp $
# @configure_input@ ###

#
# build and install NTL 
# % make install-ntl
#
# build ox_ntl
# % make
#

PROG=ox_ntl

PROGL=oxsv
PROGL2=liboxsv.so

OpenXM_HOME=$(PWD)/../..
PREFIX=$(OpenXM_HOME)

CXX=@CXX@
CC =@CC@

#install_sh = @install_sh@
install_sh = $(OpenXM_HOME)/src/ox_toolkit/install-sh


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=-lgmp -lox -lgc @LIBS@
LDFLAGS=@LDFLAGS@ -L$(LIBDIR) -L$(NTL_LIBDIR) -L.

DISTDIR=$(OpenXM_HOME)/../OpenXM_dist
DISTFILEDIR=ntl-6.0.0
DISTFILE=ntl-6.0.0.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

OBJCC=$(SRCC:.c=.o)
OBJCP=$(SRCP:.cpp=.o)

all: $(PROG)

$(PROG): $(OBJCP) $(PROGL2)
	$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJCP) -o $@ -lntl -l$(PROGL) $(LIBS)

$(PROGL2): $(OBJCC)
	$(CC) -shared $(LDFLAGS) $(OBJCC) -o $@ $(LIBS)
	strip $(PROGL2)

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
	$(CP) $(PROGL2) $(PREFIX)/lib

install_lib: $(PROGL2)
	$(CP) $(PROGL2) $(PREFIX)/lib

clean:
	-$(RM) -f $(OBJC) $(OBJCC) $(OBJCP)
	-$(RM) -f $(PROG) $(PROGL2) ox_ntl_debug oxserv_debug
	-$(RM) -fr $(WORK)
	@-$(RM) -f .*-ntl-done

lint:
	$(LINT) $(LINTFLAGS) $(SRCC)

fetch-ntl:
	@if [ ! -f .fetch-ntl-done ]; then \
		curl -L -o $(DISTDIR)/$(DISTFILE) http://www.shoup.net/ntl/$(DISTFILE) && \
		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 cmon.o
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -g -D__NTL_DEBUG=1 $(LDFLAGS) cmon.o ntl.cpp ntlconv.cpp -o $@ -lntl -l$(PROGL) $(LIBS)

oxserv_debug: oxserv.h oxserv.c
	$(CC) $(CFLAGS) $(CPPFLAGS) -g -D__OXSERV_DEBUG=1 $(LDFLAGS) oxserv.c oxstack.o -o $@ $(LIBS)