######################################################################
#
#  Name ...... LiDIA/src/packages/finite_field/makefile
#
#  Architecture : sparc7, sparc8, mips, linux, os2
#  Compiler     : gcc, g++ 
#  Flags        : -g -O2
#  Program Flags: -DDEBUG, -DMEMORY, -DERRIGN 
#  Author       : 
#  Release      : 1.0 
#  Last Change  : 
#  Copyright    : by the University of Saarland, 1995 
#

#
# include the configuration file
#

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

#
# Objects
#

OBJ=galois_field.o gf_p_base.o gf_p_element.o
#gf_n_base.o gf_n_element.o

CXXOBJ=$(objp)gf_p_element_inst.o
#$(objp)gf_n_element_inst.o

#
# Rules
#

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

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

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


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


appl: gf_appl$(EXE)


#
# Dependencies
#


galois_field.o:		galois_field.c $(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)galois_field.h
gf_p_base.o:		gf_p_base.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_p_base.h
gf_p_element.o:		gf_p_element.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_p_element.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_element.h
gf_n_base.o:		gf_n_base.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_n_base.h
gf_n_element.o:		gf_n_element.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_n_element.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_element.h

$(objp)gf_p_element_inst.o:	gf_element_inst.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_p_element.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_element.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_element.c
	$(CXX) $(CXXFLAGS) -c gf_element_inst.c $(CXX-off) -I$(LIDIA_INC) \
		-DTYPE=gf_p_element -o $(objp)gf_p_element_inst.o
	$(NOOMV) gf_p_element_inst.o $(objp)gf_p_element_inst.o
	$(TOUCH) gf_p_element_inst.o

$(objp)gf_n_element_inst.o:	gf_element_inst.c \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_n_element.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_element.h \
			$(LIDIA_INC)$(DIRSEP)LiDIA$(DIRSEP)gf_element.c
	$(CXX) $(CXXFLAGS) -c gf_element_inst.c $(CXX-off) -I$(LIDIA_INC) \
		-DTYPE=gf_n_element -o $(objp)gf_n_element_inst.o
	$(NOOMV) gf_n_element_inst.o $(objp)gf_n_element_inst.o
	$(TOUCH) gf_n_element_inst.o

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

#
# Clean
#

clean:
	-$(RM) *.o
	-$(RMR) ptrepository 

veryclean:	clean
	-$(RM) gf_appl$(EXE)


#
# end of makefile
#
