36 lines
859 B
Makefile
36 lines
859 B
Makefile
COMP=gfortran
|
|
F2PY:=f2py3
|
|
|
|
COMP_OPTS:= -O2 -ffast-math
|
|
F2PY_OPTS:=
|
|
|
|
DEBUG:=0
|
|
|
|
objects_src := phagen_scf_2.1_dp.f
|
|
objects := $(patsubst %.f,%.o, $(objects_src))
|
|
|
|
ifeq ($(DEBUG),1)
|
|
COMP_OPTS:=$(COMP_OPTS) -g -Wall -Wextra -Warray-temporaries -Wconversion -fbacktrace -ffree-line-length-0 -fcheck=all -ffpe-trap=zero,overflow,underflow -finit-real=nan
|
|
F2PY_OPTS:=$(F2PY_OPTS) --debug-capi --debug
|
|
endif
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
pybinding: libphagen.target
|
|
|
|
libphagen.target: $(objects) main.f
|
|
@echo "building Python binding..."
|
|
@$(F2PY) -I. $(objects) $(F2PY_OPTS)-c -m libphagen main.f
|
|
@touch $@
|
|
|
|
$(objects): $(objects_src)
|
|
@echo "compiling subroutines and functions for phagen..."
|
|
@$(COMP) $(COMP_OPTS) -fPIC -c $^
|
|
|
|
clean:
|
|
@echo "cleaning..."
|
|
@rm -rf *.o *.mod
|
|
@rm -rf $(objects)
|
|
@rm -f libphagen.target
|