Skip to content

Commit

Permalink
update Windows build
Browse files Browse the repository at this point in the history
  • Loading branch information
kthohr committed Sep 11, 2017
1 parent 3e37d2f commit 1f1e694
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 1 deletion.
5 changes: 5 additions & 0 deletions configure.win
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
## BMR empty config script

export SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)'
export SHLIB_LD='$(SHLIB_CXXLD)'
48 changes: 47 additions & 1 deletion src/Makevars.win
Original file line number Diff line number Diff line change
@@ -1 +1,47 @@
PKG_LIBS = $(shell $(R_HOME)/bin${R_ARCH_BIN}/Rscript.exe -e "Rcpp:::LdFlags()") $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
# BMR Makevars

SDIR = .
BM_DIR = $(SDIR)/bmlib
BM_SRC_DIR = $(BM_DIR)/src
BM_HEADER_DIR = $(BM_DIR)/include

BMR_OPENMP=$(SHLIB_OPENMP_CXXFLAGS) -DARMA_USE_OPENMP

PKG_CPPFLAGS= $(CXX11STD) $(BMR_OPENMP) -DUSE_RCPP_ARMADILLO -DARMA_NO_DEBUG -DSTATSLIB_GO_INLINE -I./ -I./bmlib/include -I./bmlib/include/mcmc -I./bmlib/include/optim
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

CXX_STD=CXX11STD

OPTIM_SRC_DIR = $(BM_SRC_DIR)/optim
MCMC_SRC_DIR = $(BM_SRC_DIR)/mcmc

# Optim and MCMC files
SOURCES_MCMC= $(MCMC_SRC_DIR)/de.cpp $(MCMC_SRC_DIR)/rwmh.cpp
OBJECTS_MCMC= $(SOURCES_MCMC:.cpp=.o)

SOURCES_OPTIM= $(OPTIM_SRC_DIR)/line_search/more_thuente.cpp $(OPTIM_SRC_DIR)/unconstrained/bfgs.cpp $(OPTIM_SRC_DIR)/unconstrained/cg.cpp $(OPTIM_SRC_DIR)/unconstrained/de.cpp $(OPTIM_SRC_DIR)/unconstrained/de_prmm.cpp $(OPTIM_SRC_DIR)/unconstrained/nm.cpp $(OPTIM_SRC_DIR)/unconstrained/pso.cpp $(OPTIM_SRC_DIR)/unconstrained/pso_dv.cpp
OBJECTS_OPTIM= $(SOURCES_OPTIM:.cpp=.o)

# core BM files
SOURCES_BM_VAR= $(BM_SRC_DIR)/var/bvarm.cpp $(BM_SRC_DIR)/var/bvars.cpp $(BM_SRC_DIR)/var/bvarw.cpp $(BM_SRC_DIR)/var/bvartvp.cpp $(BM_SRC_DIR)/var/cvar.cpp
OBJECTS_BM_VAR= $(SOURCES_BM_VAR:.cpp=.o)

SOURCES_BM_FILT= $(BM_SRC_DIR)/filter/kalman.cpp $(BM_SRC_DIR)/filter/chandrasekhar.cpp
OBJECTS_BM_FILT= $(SOURCES_BM_FILT:.cpp=.o)

SOURCES_BM_LRES= $(BM_SRC_DIR)/lres/gensys_solver.cpp $(BM_SRC_DIR)/lres/uhlig_solver.cpp
OBJECTS_BM_LRES= $(SOURCES_BM_LRES:.cpp=.o)

OBJECTS_BM= $(OBJECTS_OPTIM) $(OBJECTS_MCMC) $(OBJECTS_BM_VAR) $(OBJECTS_BM_FILT) $(OBJECTS_BM_LRES)

SOURCES_MODULES= ./modules/bvarm_R.cpp ./modules/bvars_R.cpp ./modules/bvarw_R.cpp ./modules/bvartvp_R.cpp ./modules/cvar_R.cpp ./modules/gensys_R.cpp ./modules/uhlig_R.cpp ./modules/dsge_gensys_R.cpp ./modules/dsgevar_gensys_R.cpp
OBJECTS_MODULES= $(SOURCES_MODULES:.cpp=.o)

OBJECTS_BMR=$(OBJECTS_BM) $(OBJECTS_MODULES)

all: $(SHLIB) libBMR$(SHLIB_EXT)

# some trickery to work around R's desire to link with gcc instead of g++

libBMR.dll: $(OBJECTS_TRAMERCPP)
$(SHLIB_CXXLD) -shared -s -static-libstdc++ -static-libgcc -o BMR.dll $(OBJECTS_TRAMERCPP) $(SHLIB_CXXLDFLAGS) $(ALL_LIBS)

0 comments on commit 1f1e694

Please sign in to comment.