aboutsummaryrefslogtreecommitdiffstats
path: root/R/Makefile
blob: ff53b79dc08e0c3b302f163fbfb45aa1c98ed190 (plain)
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
CFLAGS=-Ofast -Wall -march=native -I/usr/include/R -fopenmp -fpic
LDLIBS=-lR -llapack -lblas
LDFLAGS=-L/usr/lib/R/lib -Wl,--as-needed
CPPFLAGS=-DUSE_BLAS
GSL_FLAGS=$(shell pkg-config --libs gsl)

lossdistrib/src/lossdistrib.so: lossdistrib/src/lossdistrib.o
	$(CC) $(LDFLAGS) -shared -o $@ $< $(LDLIBS)

lossdistrib.dll: lossdistrib/src/lossdistrib.c
	R --arch 64 CMD SHLIB $<

build: lossdistrib_1.1.tar.gz
	R CMD INSTALL --build $<

lossdistrib_1.1.tar.gz:
	R CMD build lossdistrib

check:
	Rscript roxygenize.R
	R CMD check lossdistrib

tags: *.R
	Rscript tags.R

doc:
	R CMD BATCH roxygenize.R

test: CPPFLAGS:= $(CPPFLAGS) -DBUILD_TESTS
test: lossdistrib/src/lossdistrib.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) $(GSL_FLAGS) -lgomp
	mv $@ ~; chmod +x ~/$@

.PHONY: clean

clean:
	-rm -r lossdistrib.Rcheck
	-rm -f lossdistrib_1.1.tar.gz lossdistrib/src/*.{o,so}