-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
63 lines (48 loc) · 2.03 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Rscript := $(shell whereis Rscript) --vanilla -e
R := $(shell whereis R)
PKG_VERSION := $(shell grep -i ^version DESCRIPTION | cut -d : -d \ -f 2)
PKG_NAME := $(shell grep -i ^package DESCRIPTION | cut -d : -d \ -f 2)
#DATA_FILES := $(wildcard data/*.rda)
R_FILES := $(wildcard R/*.R)
TEST_FILES := $(wildcard tests/*.R) $(wildcard tests/testthat/*.R)
#ALL_SRC_FILES := $(wildcard src/*.cpp) $(wildcard src/*.h) src/Makevars
#SRC_FILES := $(filter-out src/RcppExports.cpp, $(ALL_SRC_FILES))
#HEADER_FILES := $(wildcard src/*.h)
#RCPPEXPORTS := src/RcppExports.cpp R/RcppExports.R
ROXYGENFILES := $(wildcard man/*.Rd) NAMESPACE
PKG_FILES := DESCRIPTION $(ROXYGENFILES) $(R_FILES) $(TEST_FILES)
#OBJECTS := $(wildcard src/*.o) $(wildcard src/*.o-*) $(wildcard src/*.dll) $(wildcard src/*.so) $(wildcard src/*.rds)
CHECKPATH := $(PKG_NAME).Rcheck
CHECKLOG := `cat $(CHECKPATH)/00check.log`
.PHONY: all build build-cran check check-cran manual install clean compileAttributes
all:
install
build: $(PKG_NAME)_$(PKG_VERSION).tar.gz
build-cran:
@make clean
@make roxygen
$(R) CMD build --resave-data .
$(PKG_NAME)_$(PKG_VERSION).tar.gz: $(PKG_FILES)
@make roxygen
$(R) CMD build --resave-data --no-build-vignettes .
roxygen: $(R_FILES)
$(Rscript) 'library(roxygen2); roxygenize()'
check: $(PKG_NAME)_$(PKG_VERSION).tar.gz
@rm -rf $(CHECKPATH)
$(R) CMD check --no-multiarch --no-manual --no-clean $(PKG_NAME)_$(PKG_VERSION).tar.gz
check-cran:
@make build-cran
@rm -rf $(CHECKPATH)
$(R) CMD check --as-cran --no-clean $(PKG_NAME)_$(PKG_VERSION).tar.gz
00check.log: check
@mv $(CHECKPATH)\\00check.log .
@rm -rf $(CHECKPATH)
manual: $(PKG_NAME)-manual.pdf
$(PKG_NAME)-manual.pdf: $(ROXYGENFILES)
$(R) CMD Rd2pdf --no-preview -o $(PKG_NAME)-manual.pdf .
install: $(PKG_NAME)_$(PKG_VERSION).tar.gz
$(R) CMD INSTALL --no-multiarch --byte-compile $(PKG_NAME)_$(PKG_VERSION).tar.gz
clean:
@rm -rf $(wildcard *.Rcheck)
@rm -f $(wildcard *.tar.gz)
@echo '*** PACKAGE CLEANUP COMPLETE ***'