[BACK]Return to Makefile CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_cdd

File: [local] / OpenXM / src / ox_cdd / Makefile (download)

Revision 1.2, Wed May 25 05:06:06 2005 UTC (18 years, 11 months ago) by noro
Branch: MAIN
Changes since 1.1: +4 -2 lines

Added several tasks.

# $OpenXM: OpenXM/src/ox_cdd/Makefile,v 1.2 2005/05/25 05:06:06 noro Exp $

OpenXM_HOME=../..
OpenXM_LIBDIR=../../lib
OpenXM_LIB = -L$(OpenXM_LIBDIR) -lox -lgc -lgmp
INCLUDES = -I$(OpenXM_HOME)/include
PREFIX=${OpenXM_HOME}
DISTDIR=${OpenXM_HOME}/../OpenXM_dist
RM = /bin/rm
MASTER_SITE=ftp://ftp.math.kobe-u.ac.jp/pub/OpenXM/misc/
DISTFILES=cddlib-093d.tar.gz
CFLAGS = -g -Wall -finline-functions

GMPDEF = -DGMPRATIONAL

CDD=cddlib-093d
CDD_HOME= work/$(CDD)

CDD_LIB = -lcdd
OBJ = ox_cdd.o cddlib.o
PROG = ox_cdd

CDDGMP_LIB = -lcddgmp
OBJGMP = ox_cddgmp.o cddlibgmp.o
PROGGMP = ox_cddgmp

LIBS = $(CDD_LIB) $(OpenXM_LIB) -lm
LIBSGMP = $(CDDGMP_LIB) $(OpenXM_LIB) -lm

all: build

components : libs $(PROG) $(PROGGMP)

$(PROG): $(OBJ)
	$(CC) $(OBJ) $(LIBS) -o $@

$(PROGGMP): $(OBJGMP)
	g++ $(OBJGMP) $(LIBSGMP) -o $@

ox_cdd.o : ox_cdd.c
	$(CC) $(CFLAGS) $(INCLUDES) -c $<

ox_cddgmp.o : ox_cdd.c
	$(CC) -o ox_cddgmp.o $(CFLAGS) $(GMPDEF) $(INCLUDES) -c $<

cddlib.o : cddlib.c
	$(CC) $(CFLAGS) $(INCLUDES) -c $<

cddlibgmp.o : cddlib.c
	$(CC) -o cddlibgmp.o  $(CFLAGS) $(GMPDEF) $(INCLUDES) -c $<

libs : ox gc libgmp cdd

ox : 
	-@if test -f $(OpenXM_HOME)/lib/libox.a ; then \
		true ; \
	else \
		( cd $(OpenXM_HOME)/src/ ; make install-oxtoolkit ) ; \
	fi

gc :
	-@if test -f $(OpenXM_HOME)/lib/libgc.a ; then \
		true ; \
	else \
		( cd $(OpenXM_HOME)/src/ ; make install-gc ) ; \
	fi

libgmp : 
	-@if test -f $(OpenXM_HOME)/lib/libgmp.a ; then \
		true ; \
	else \
		( cd $(OpenXM_HOME)/src/ ; make install-gmp ) ; \
	fi

cdd :
	-mkdir ${PREFIX}/bin ${PREFIX}/lib
	@if [ ! -f work/.install_done ]; then \
		(cd work/${CDD} ; ${MAKE} install) ; \
	fi

clean:

distclean: clean
	rm -f $(OpenXM_HOME)/lib/libox.a
	rm -f $(OpenXM_HOME)/lib/libgc.a
	rm -f $(CDD_HOME)/lib-src/libcdd.a

fetch:
	-mkdir work
	@if [ ! -f work/.fetch_done ]; then \
		${OpenXM_HOME}/bin/oxfetch.sh ${MASTER_SITE}${DISTFILES} ${DISTDIR}; \
	fi 
	@touch work/.fetch_done

extract: fetch
	@if [ ! -f work/.extract_done ]; then \
	    cat ${DISTDIR}/${DISTFILES} | (cd work ; tar xzvf -) ; \
	fi 
	@touch work/.extract_done

patch: extract
	@touch work/.patch_done

configure: patch
	@if [ ! -f work/.configure_done ]; then \
		prefix=`cd ${OpenXM_HOME}; pwd` ; \
		(cd work/${CDD} ; ./configure CXX=cc --prefix="$$prefix" ) ; \
	fi
	@touch work/.configure_done

build : configure components

install: 
	cp $(PROG) $(PROGGMP) $(PREFIX)/bin
	-mkdir $(PREFIX)/lib/asir
	-ln -s $(PREFIX)/bin/$(PROG) $(PREFIX)/bin/$(PROGGMP) $(PREFIX)/lib/asir
	@touch work/.install_done

clean:
	-$(RM) -rf work
	-$(RM) -f $(PROG) $(PROGGMP) $(OBJ) $(OBJGMP)
	-$(RM)  *.core

distclean: clean