######################################################################
#
#  Name .................... LiDIA/src/packages/algebraic_num/makefile
#
#  Architecture : sparc7, sparc8, mips, linux, os2
#  Compiler     : gcc, g++ 
#  Flags        : -O2
#  Author       : Stefan Neis
#  Release      : 1.0 
#  Last Change  : Mon Nov 8 18:15:00 MET DST 1995
#  Copyright    : by the University of Saarland, 1995
#

#
# include the configuration file
#

include ../../../config/CONFIG

#
# Objects
#

OBJ=alg_number.o ideal.o module.o order.o

#
# Rules
#

c++:	all

g++:	all

SUNPROCC:	all

CC:
	@echo ""
	@echo "Considering the name (CC), you possibly have a compiler which"
	@echo "       does not yet support default arguments."
	@echo "If you believe, that your compiler supports default arguments"
	@echo "       edit LiDIA/config/CONFIG and set ALGNUMBER_CXXNAME"
	@echo "       to c++ instead of CC. Make sure, that CXXFLAGS contains"
	@echo "       -DLIDIA_NO_MUTABLE, if the compiler does not support the"
	@echo "       keyword mutable."
	@echo ""

all:	$(libp)LiDIA.a



appl:
	$(MAKE) $(ALGNUMBER_CXXNAME)_appl

c++_appl:	module_appl$(EXE) alg_number_appl$(EXE) ideal_appl$(EXE)
g++_appl:	module_appl$(EXE) alg_number_appl$(EXE) ideal_appl$(EXE)
SUNPROCC_appl:	module_appl$(EXE) alg_number_appl$(EXE) ideal_appl$(EXE)

CC_appl:
	@echo ""
	@echo "Considering the name (CC), you possibly have a compiler which"
	@echo "       does not yet support default arguments."
	@echo "If you believe, that your compiler supports default arguments"
	@echo "       edit LiDIA/config/CONFIG and set ALGNUMBER_CXXNAME"
	@echo "       to c++ instead of CC. Make sure, that CXXFLAGS contains"
	@echo "       -DNO_MUTABLE, if the compiler does not support the"
	@echo "       keyword mutable."
	@echo ""


#
# Dependencies
#

alg_number_appl.o: alg_number_appl.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)alg_number.h
	$(CXX) -c $(CXXFLAGS) -I$(LIDIA_INC) $*.c

module_appl.o: module_appl.c $(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)alg_number.h
	$(CXX) -c $(CXXFLAGS) -I$(LIDIA_INC) $*.c

ideal_appl.o: ideal_appl.c $(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)alg_number.h
	$(CXX) -c $(CXXFLAGS) -I$(LIDIA_INC) $*.c
 
alg_number.o: alg_number.c $(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)alg_number.h
module.o: module.c $(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)alg_number.h
order.o: order.c $(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)alg_number.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)polynomial.h

$(libp)LiDIA.a:         $(OBJ) 
	-$(AR) $(LIDIA_LIB)$(DIRSEP)$(libp)LiDIA.a $(objp)*.o

ranlib:
	$(RANLIB) $(LIDIA_LIB)$(DIRSEP)$(libp)LiDIA.a

alg_number_appl$(EXE): alg_number_appl.o 
	$(CXX) $(CXXFLAGS) $(CXX-off) alg_number_appl.o -I$(LIDIA_INC) \
	-L$(LIDIA_LIB) -o alg_number_appl$(EXE) $(LIB)
	-$(CP) alg_appl_input $(LIDIA_BIN)
	-$(MV) alg_number_appl$(EXE) $(LIDIA_BIN)
 

module_appl$(EXE): module_appl.o
	$(CXX) $(CXXFLAGS) $(CXX-off) module_appl.o -I$(LIDIA_INC) \
	-L$(LIDIA_LIB) -o module_appl$(EXE) $(LIB)
	-$(MV) module_appl$(EXE) $(LIDIA_BIN)

ideal_appl$(EXE): ideal_appl.o
	$(CXX) $(CXXFLAGS) $(CXX-off) ideal_appl.o -I$(LIDIA_INC) \
	-L$(LIDIA_LIB) -o ideal_appl$(EXE) $(LIB)
	-$(MV) ideal_appl$(EXE) $(LIDIA_BIN)

clean:
	-$(RM) *.o
	-$(RM) alg_number_appl$(EXE) module_appl$(EXE)

veryclean: clean

#
# End Of Makefile 
#
