Skip to content

Commit 1f1e694

Browse files
committed
update Windows build
1 parent 3e37d2f commit 1f1e694

File tree

2 files changed

+52
-1
lines changed

2 files changed

+52
-1
lines changed

configure.win

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
## BMR empty config script
3+
4+
export SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)'
5+
export SHLIB_LD='$(SHLIB_CXXLD)'

src/Makevars.win

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,47 @@
1-
PKG_LIBS = $(shell $(R_HOME)/bin${R_ARCH_BIN}/Rscript.exe -e "Rcpp:::LdFlags()") $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
1+
# BMR Makevars
2+
3+
SDIR = .
4+
BM_DIR = $(SDIR)/bmlib
5+
BM_SRC_DIR = $(BM_DIR)/src
6+
BM_HEADER_DIR = $(BM_DIR)/include
7+
8+
BMR_OPENMP=$(SHLIB_OPENMP_CXXFLAGS) -DARMA_USE_OPENMP
9+
10+
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
11+
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
12+
13+
CXX_STD=CXX11STD
14+
15+
OPTIM_SRC_DIR = $(BM_SRC_DIR)/optim
16+
MCMC_SRC_DIR = $(BM_SRC_DIR)/mcmc
17+
18+
# Optim and MCMC files
19+
SOURCES_MCMC= $(MCMC_SRC_DIR)/de.cpp $(MCMC_SRC_DIR)/rwmh.cpp
20+
OBJECTS_MCMC= $(SOURCES_MCMC:.cpp=.o)
21+
22+
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
23+
OBJECTS_OPTIM= $(SOURCES_OPTIM:.cpp=.o)
24+
25+
# core BM files
26+
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
27+
OBJECTS_BM_VAR= $(SOURCES_BM_VAR:.cpp=.o)
28+
29+
SOURCES_BM_FILT= $(BM_SRC_DIR)/filter/kalman.cpp $(BM_SRC_DIR)/filter/chandrasekhar.cpp
30+
OBJECTS_BM_FILT= $(SOURCES_BM_FILT:.cpp=.o)
31+
32+
SOURCES_BM_LRES= $(BM_SRC_DIR)/lres/gensys_solver.cpp $(BM_SRC_DIR)/lres/uhlig_solver.cpp
33+
OBJECTS_BM_LRES= $(SOURCES_BM_LRES:.cpp=.o)
34+
35+
OBJECTS_BM= $(OBJECTS_OPTIM) $(OBJECTS_MCMC) $(OBJECTS_BM_VAR) $(OBJECTS_BM_FILT) $(OBJECTS_BM_LRES)
36+
37+
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
38+
OBJECTS_MODULES= $(SOURCES_MODULES:.cpp=.o)
39+
40+
OBJECTS_BMR=$(OBJECTS_BM) $(OBJECTS_MODULES)
41+
42+
all: $(SHLIB) libBMR$(SHLIB_EXT)
43+
44+
# some trickery to work around R's desire to link with gcc instead of g++
45+
46+
libBMR.dll: $(OBJECTS_TRAMERCPP)
47+
$(SHLIB_CXXLD) -shared -s -static-libstdc++ -static-libgcc -o BMR.dll $(OBJECTS_TRAMERCPP) $(SHLIB_CXXLDFLAGS) $(ALL_LIBS)

0 commit comments

Comments
 (0)