Skip to content

Commit

Permalink
adding standalone makefile and makefile module
Browse files Browse the repository at this point in the history
Later the `make export-gm2os' command will create an alone standing
program for the calculation of g-2.
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Jul 26, 2015
1 parent 81c466b commit 7036bd4
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 1 deletion.
54 changes: 54 additions & 0 deletions addons/gm2os/Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Package information
PKGNAME := gm2calc
VERSION := 0.0.0
LIBEXT := .a

# Variables for compilation
CXX := g++
CPPFLAGS := -I. -Igm2
CXXFLAGS := -O
CXX_DEP_GEN := $(CXX)
CXXFLAGS_DEP_GEN:= $(CXXFLAGS)
FC := gfortran
FFLAGS := -O -frecursive
FLIBS := -lgfortran -lm
FOR_DEP_GEN := $(FC)
MAKELIB := ar cru
BLASLIBS := -lblas
BOOSTFLAGS := -I/usr/include
EIGENFLAGS := -I/usr/include/eigen3
GSLLIBS := $(shell gsl-config --libs)
GSLFLAGS := $(shell gsl-config --cflags)
LAPACKLIBS := -llapack -lblas

.PHONY: all allexec alllib clean depend

all: alllib allexec

clean::
-rm -f $(GM2CALC_OBJ)
-rm -f $(GM2CALC_DEP)
-rm -f $(GM2CALC_EXE)

include gm2/module.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),depend)
ifeq ($(findstring print-,$(MAKECMDGOALS)),)
-include $(GM2CALC_DEP)
endif
endif
endif

allexec: $(ALLEXE)
alllib: $(ALLLIB)
depend: $(ALLDEP)

%.d: %.cpp
$(CXX_DEP_GEN) $(CPPFLAGS) $(CXXFLAGS_DEP_GEN) -MM -MP -MG -o $@ -MT '$*.o' $^

%.d: %.f
$(FOR_DEP_GEN) $(CPPFLAGS) -cpp -MM -MP -MG $^ -MT '$*.o' | \
sed 's|.*\.o:|$*.o:|' > $@

print-% : ; @echo $* = $($*)
52 changes: 52 additions & 0 deletions addons/gm2os/module.gm2.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
DIR := gm2
MODNAME := gm2

# source files
LIBgm2_SRC := \
$(DIR)/ffunctions.cpp \
$(DIR)/gm2_1loop.cpp \
$(DIR)/gm2_2loop.cpp \
$(DIR)/gm2_slha_io.cpp \
$(DIR)/MSSMNoFV_onshell.cpp

# main()
EXEgm2_SRC := \
$(DIR)/gm2.cpp

LIBgm2_OBJ := \
$(patsubst %.cpp, %.o, $(filter %.cpp, $(LIBgm2_SRC)))

EXEgm2_OBJ := \
$(patsubst %.cpp, %.o, $(filter %.cpp, $(EXEgm2_SRC)))

LIBgm2_DEP := \
$(LIBgm2_OBJ:.o=.d)

EXEgm2_DEP := \
$(EXEgm2_OBJ:.o=.d)

EXEgm2_EXE := \
$(patsubst %.cpp, %.x, $(filter %.cpp, $(EXEgm2_SRC)))

LIBgm2 := \
$(DIR)/lib$(MODNAME)$(LIBEXT)

clean::
-rm -f $(LIBgm2_DEP)
-rm -f $(EXEgm2_DEP)
-rm -f $(LIBgm2_OBJ)
-rm -f $(EXEgm2_OBJ)
-rm -f $(LIBgm2)
-rm -f $(EXEgm2_EXE)

$(LIBgm2_DEP) $(EXEgm2_DEP) $(LIBgm2_OBJ) $(EXEgm2_OBJ): CPPFLAGS += $(GSLFLAGS) $(EIGENFLAGS) $(BOOSTFLAGS)

$(LIBgm2): $(LIBgm2_OBJ)
$(MAKELIB) $@ $^

$(EXEgm2_EXE): $(EXEgm2_OBJ) $(LIBgm2) $(LIBMSSMNoFVSLHA2) $(LIBFLEXI) $(LIBLEGACY) $(filter-out -%,$(LOOPFUNCLIBS))
$(CXX) -o $@ $^ $(filter -%,$(LOOPFUNCLIBS)) $(GSLLIBS) $(BOOSTTHREADLIBS) $(THREADLIBS) $(LAPACKLIBS) $(BLASLIBS) $(FLIBS)

ALLDEP += $(LIBgm2_DEP) $(EXEgm2_DEP)
ALLLIB += $(LIBgm2)
ALLEXE += $(EXEgm2_EXE)
18 changes: 17 additions & 1 deletion addons/gm2os/module.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
DIR := addons/gm2os
MODNAME := gm2os

LIBgm2os_INSTALL_DIR := gm2os

LIBgm2os_MK := \
$(DIR)/Makefile.in

LIBgm2os_gm2_MK := \
$(DIR)/module.gm2.mk

ifeq ($(shell $(FSCONFIG) --with-MSSMNoFVSLHA2),yes)
# source files
LIBgm2os_SRC := \
Expand Down Expand Up @@ -46,7 +54,7 @@ LIBgm2os := \
$(DIR)/lib$(MODNAME)$(LIBEXT)

.PHONY: clean-$(MODNAME) clean-$(MODNAME)-dep clean-$(MODNAME)-obj \
distclean-$(MODNAME)
distclean-$(MODNAME) export-gm2os

clean-$(MODNAME)-dep:
-rm -f $(LIBgm2os_DEP)
Expand All @@ -66,6 +74,14 @@ clean:: clean-$(MODNAME)

distclean:: distclean-$(MODNAME)

export-gm2os:
install -d $(LIBgm2os_INSTALL_DIR)
install -d $(LIBgm2os_INSTALL_DIR)/gm2
install -m u=rw,g=r,o=r $(LIBgm2os_SRC) $(LIBgm2os_INSTALL_DIR)/gm2
install -m u=rw,g=r,o=r $(LIBgm2os_HDR) $(LIBgm2os_INSTALL_DIR)/gm2
install -m u=rw,g=r,o=r $(LIBgm2os_MK) $(LIBgm2os_INSTALL_DIR)/Makefile
install -m u=rw,g=r,o=r $(LIBgm2os_gm2_MK) $(LIBgm2os_INSTALL_DIR)/gm2/module.mk

$(LIBgm2os_DEP) $(EXEgm2os_DEP) $(LIBgm2os_OBJ) $(EXEgm2os_OBJ): CPPFLAGS += $(GSLFLAGS) $(EIGENFLAGS) $(BOOSTFLAGS)

ifneq (,$(findstring yes,$(ENABLE_LOOPTOOLS)$(ENABLE_FFLITE)))
Expand Down

0 comments on commit 7036bd4

Please sign in to comment.