FC=gfortran
FFLAGS  = -fno-automatic  -finit-local-zero -O -W -Wall -Wextra -g

COMPILERC        = gcc
OPTIMIZATION_OPT = -O1
AR               = ar
MAKE             = make
BASE_OPTIONS     =-Wall -Wextra -Werror -Wno-long-long # -pedantic -W   -Wmissing-prototypes   -Wconversion -Wshadow -Wpointer-arith   -Wcast-qual -Wcast-align   -Wwrite-strings -Wnested-externs   -fshort-enums -fno-common -Dinline= -g -O2
BASE_OPTIONS     =  -Wno-long-long 
# -ansi
OPTIONS          = $(BASE_OPTIONS) $(OPTIMIZATION_OPT)


# estos no van en tabular o radia, porque las funciones fortran que producen son especiales para sceptre (por ejemplo usan todos los argumentos del tipo double)

#all:

$(info DESTDIR $(DESTDIR) PREFIX $(PREFIX) )

all:  libtabularfor.so.1.0.1 libradiafor.so.1.0.1 testradia

#libradiafor.so.1.0.1 libtabularfor.so.1.0.1 maintest


tabular.o : tabular.for ${INCLUDES}
	${FC} -fPIC -ffree-form -c ${FFLAGS} $<

clean ::
	rm -fv *.o *~ maintest testradia lib*for.so*

nonbinclean:
	rm -fv *.o


radia.o : radia.for  ${INCLUDES}
	${FC} -fPIC -ffree-form -c ${FFLAGS} $<

maintestX:   radia.o maintest.for radia.for maintest.for ../../../../Radia/src/Radia/radia.o ../../../../Radia/src/Radia/spa.o ../../../../Radia/src/Radia/solargeom.o ../../../../Radia/src/Radia/cover.o
	${FC} ${FFLAGS}  -ffree-form -o maintest   maintest.for ../../../../Radia/src/Radia/radia.o ../../../../Radia/src/Radia/spa.o ../../../../Radia/src/Radia/solargeom.o ../../../../Radia/src/Radia/cover.o radia.o


ifneq ("$(wildcard  /usr/local/lib/libradia.so.1.0.1)","")
testradia:   radia.o testradia.for  /usr/local/lib/libradia.so.1.0.1
	${FC} ${FFLAGS}  -ffree-form -o testradia   testradia.for radia.o /usr/local/lib/libradia.so.1.0.1
else
testradia:
endif

#/usr/local/lib/libSolTrack.so



#maintest2:   radia.o maintest.for  /usr/local/lib/libradia.so.1.0.1
#	${FC} ${FFLAGS}  -L/usr/local/lib -ffree-form -o maintest2   maintest.for radia.o -lradia

#	#install radia.o /usr/local/lib
#	install tabular.o /usr/local/lib/
#	install *h /usr/local/include

install: 
	install libtabularfor.so* $(DESTDIR)${PREFIX}/usr/local/lib
	ln -fs libtabularfor.so.1.0.1 $(DESTDIR)${PREFIX}/lib/libtabularfor.so
	ln -fs libtabularfor.so.1.0.1 $(DESTDIR)${PREFIX}/lib/libtabularfor.so.1
	install libradiafor.so* $(DESTDIR)${PREFIX}/lib
	ln -fs libradiafor.so.1.0.1 $(DESTDIR)${PREFIX}/lib/libradiafor.so
	ln -fs libradiafor.so.1.0.1 $(DESTDIR)${PREFIX}/lib/libradiafor.so.1

#cp usrlib.a modellib.dat ${PREFIX}/lib

#ldconfig  en rpm se hace en post pero esto es post ?
#
libradiafor.so.1.0.1:   Makefile radia.o
	$(COMPILERC) $(OPTIONS)  -g -shared -fPIC -Wl,-soname=libradiafor.so.1 -o  libradiafor.so.1.0.1 radia.o


libtabularfor.so.1.0.1:   Makefile tabular.o
	$(COMPILERC) $(OPTIONS)  -g -shared -fPIC -Wl,-soname=libtabularfor.so.1 -o  libtabularfor.so.1.0.1 tabular.o 
