Last commit for lib/Makefile: 1076b5cccfb7a882e3e21bbc5c6728812f4f3271

O2 optimization makefiles.

Bruno Mundim [2017-01-24 16:34:03]
O2 optimization makefiles.
FC      = xlf_r -c
#FC      = ifort -c
FCFLAGS = -O2 -g -q64 -qarch=pwr7 -qtune=pwr7

SHRLD    = xlf_r
SHRFLAGS = -qpic
SHARED   = -qmkshrobj
SHRLIB   =

TAR       = tar
AR        = ar
ARFLAGS   = -crusv

#------------------------------ L-BFGS-B ------------------------------#

LBFGSB = Lbfgsb.3.0

OBJLBFGSB = $(LBFGSB)/blas.o    $(LBFGSB)/lbfgsb.o \
            $(LBFGSB)/linpack.o $(LBFGSB)/timer.o

PICLBFGSB = $(LBFGSB)/blas_pic.o    $(LBFGSB)/lbfgsb_pic.o \
            $(LBFGSB)/linpack_pic.o $(LBFGSB)/timer_pic.o

TRGLBFGSB = liblbfgsb.a
SHRLBFGSB = liblbfgsb.so

#----------------------------------------------------------------------#
#                                Rules                                 #
#----------------------------------------------------------------------#

.SUFFIXES: .o .f $(SUFFIXES)
.PHONY : all static shared clean veryclean

all    : $(LBFGSB) $(TRGLBFGSB) $(SHRLBFGSB)
static : $(LBFGSB) $(TRGLBFGSB)
shared : $(LBFGSB) $(SHRLBFGSB)
lbfgsb : $(LBFGSB) $(TRGLBFGSB) $(SHRLBFGSB)

%.o : %.f Makefile
	$(FC) $(FCFLAGS) $< -o $*.o

%_pic.o : %.f
	$(FC) $(FCFLAGS) $(SHRFLAGS) -o $@ $<

$(LBFGSB) : $(LBFGSB).tar.gz
	$(TAR) xfvz $<

$(TRGLBFGSB) : $(OBJLBFGSB) Makefile
	$(AR) $(ARFLAGS) $@ $(OBJLBFGSB)

$(SHRLBFGSB) : $(PICLBFGSB) Makefile
	$(SHRLD) $(SHARED) $(PICLBFGSB) $(SHRLIB) -o $@

clean :
	if [ -d $(LBFGSB) ]; then rm -rf $(LBFGSB); fi
	for f in $(OBJLBFGSB); do if [ -e $$f ]; then rm -f $$f; fi; done
	for f in $(PICLBFGSB); do if [ -e $$f ]; then rm -f $$f; fi; done
	for f in *~; do rm -f $$f; done

veryclean:
	if [ -d $(LBFGSB) ]; then rm -rf $(LBFGSB); fi
	if [ -e $(TRGLBFGSB) ]; then rm -f $(TRGLBFGSB); fi
	if [ -e $(SHRLBFGSB) ]; then rm -f $(SHRLBFGSB); fi
	for f in $(OBJLBFGSB); do if [ -e $$f ]; then rm -f $$f; fi; done
	for f in $(PICLBFGSB); do if [ -e $$f ]; then rm -f $$f; fi; done
	for f in *~; do rm -f $$f; done
ViewGit