NEMDIR = .
LIBDIR = $(NEMDIR)/lib
DEFINES = -DPATCH_EBC
#
F77 = f77
FLINKER = fort77
RM = rm -f
 
OBJS = nem.o check_parmac.o fe_triangle.o fext2d.o material.o \
       nemshape2d.o output2d.o gauss.o solver2d.o stiffness2d.o \
       strain2d.o stress2d.o 

LAPACK_LIB = $(LIBDIR)/lapack.a

BLAS_LIB = $(LIBDIR)/blas.a

LIBS = -L$(LIBDIR) -lneminput2d $(LAPACK_LIB) $(BLAS_LIB) -lm

INTRINSIC = +U77

FFLAGS = -c -O

nem2d: $(OBJS)
	$(FLINKER) $(INTRINSIC) $(OBJS) $(LIBS) \
	-o nem2d

nem.o: nem.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) nem.F

check_parmac.o: check_parmac.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) check_parmac.F

fe_triangle.o: fe_triangle.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) fe_triangle.F

fext2d.o: fext2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) fext2d.F

material.o: material.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) material.F

nemshape2d.o: nemshape2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) nemshape2d.F

output2d.o: output2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) output2d.F

gauss.o: gauss.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) gauss.F

solver2d.o: solver2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) solver2d.F

stiffness2d.o: stiffness2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) stiffness2d.F

strain2d.o: strain2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) strain2d.F

stress2d.o: stress2d.F
	$(F77) $(INTRINSIC) $(FFLAGS) $(DEFINES) \
	$(NEM_INCLUDE) stress2d.F

clean: *.o
	$(RM) *.o core
