The R Project SVN R

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6994 pd 1
#-*- Makefile -*-
20132 ripley 2
all:  libR makeMakedeps $(DLLNAME).dll
4394 ripley 3
 
14460 ripley 4
# set this in Makevars.win to supply your own resource file
10256 ripley 5
RCNAME=${DLLNAME}_res
14460 ripley 6
# set this (e.g. in SHLIB) to suppress adding version info to the DLL
7
RCOBJ=$(RCNAME).o
10256 ripley 8
 
12778 pd 9
# Don't use SOURCES as this get passed on for libR.
10
CFSOURCES=$(wildcard -f *.c *.f)
20132 ripley 11
CSOURCES=$(wildcard -f *.c)
10002 ripley 12
CXXSOURCES=$(wildcard -f *.cc *.cpp *.C)
12778 pd 13
OBJSA=$(foreach i,$(CFSOURCES) $(CXXSOURCES),$(basename $i).o)
4394 ripley 14
 
6994 pd 15
include $(RHOME)/src/gnuwin32/MkRules
4394 ripley 16
 
9940 pd 17
ifneq ($(strip $(CXXSOURCES)),)
18
  DLL_LDMAIN=g++
19
endif
20
 
4605 ripley 21
ifdef DEBUG
22
  DLLFLAGS=
5429 ripley 23
  DEBUGFLAG=-g -Wall
4605 ripley 24
else
25
  DLLFLAGS=-s
5429 ripley 26
  DEBUGFLAG=-Wall
4605 ripley 27
endif
28
 
15732 ripley 29
CPPFLAGS=$(PKG_CPPFLAGS) -I$(RHOME)/src/include
30
# -include $(RHOME)/src/include/globalvar.h 
9940 pd 31
CFLAGS=$(CPPFLAGS) $(DEBUGFLAG) -O2 $(PKG_CFLAGS)
32
CXXFLAGS=$(CPPFLAGS) $(DEBUGFLAG) -O2 $(PKG_CXXFLAGS)
25046 ripley 33
FFLAGS=-O2 $(DEBUGFLAG) $(PKG_FFLAGS)
17439 ripley 34
DLLLIBS=-L$(RHOME)/src/gnuwin32 $(PKG_LIBS) $(FLIBS) -lR 
15624 ripley 35
RESFLAGS=--include-dir $(RHOME)/src/include
22529 ripley 36
BLAS_LIBS=-lRblas
22526 ripley 37
LAPACK_LIBS=-L$(RHOME)/lib -lRlapack
38
# for use by Makevars.win
39
R_HOME=$(RHOME)
4394 ripley 40
 
41
AA=$(wildcard Makefile)
42
ifeq ($(AA),Makefile)
43
 include Makefile
44
else
45
 OBJS=$(filter-out $(OBJS-NO),$(OBJSA))
46
endif
9940 pd 47
AA=$(wildcard Makevars.win)
48
ifeq ($(AA),Makevars.win)
49
 include Makevars.win
50
else
8764 ripley 51
-include Makevars
9940 pd 52
endif
4394 ripley 53
 
17439 ripley 54
libR:
21235 ripley 55
	@$(MAKE) -s --no-print-directory -C $(RHOME)/src/gnuwin32 libR.a
56
	@$(MAKE) -s --no-print-directory -C $(RHOME)/src/gnuwin32 libRblas.a
12256 pd 57
 
10256 ripley 58
$(DLLNAME)_res.rc:
18637 ripley 59
	@PERL5LIB=$(RHOME)/share/perl perl $(RHOME)/src/gnuwin32/makeDllRes.pl $(DLLNAME) > $@
10256 ripley 60
 
61
$(DLLNAME)_res.o: $(DLLNAME)_res.rc $(RHOME)/src/include/Rversion.h
62
 
63
$(DLLNAME).a: $(OBJS)
18637 ripley 64
	@$(RM) -f $@
27308 ripley 65
	$(AR) cr $@ $(OBJS)
4394 ripley 66
	$(RANLIB) $@
67
 
14460 ripley 68
$(DLLNAME).dll : $(DLLNAME).a $(RCOBJ)
20132 ripley 69
 
70
# Dependencies
21472 ripley 71
CXXSOURCES1=$(wildcard -f *.cc)
72
CXXSOURCES2=$(wildcard -f *.cpp)
73
CXXSOURCES3=$(wildcard -f *.C)
74
DEPS=$(CSOURCES:.c=.d) $(CXXSOURCES1:.cc=.d) $(CXXSOURCES2:.cpp=.d) $(CXXSOURCES3:.C=.d)
20132 ripley 75
 
76
makeMakedeps: $(DEPS)
77
	@$(RM) Makedeps
20339 ripley 78
ifneq ($(strip $(DEPS)),)
20132 ripley 79
	@cat $(DEPS) >> Makedeps
20339 ripley 80
endif
20132 ripley 81
 
82
-include Makedeps