The R Project SVN R

Rev

Rev 27862 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 27862 Rev 27867
1
#-*- Makefile -*-
1
#-*- Makefile -*-
2
RLIB=../../../library
2
RLIB=../../../library
3
DPKG=$(RLIB)/$(PKG)
3
DPKG=$(RLIB)/$(PKG)
4
SPKG=.
4
SPKG=.
5
SAVE=CHECK
5
SAVE=CHECK
6
 
6
 
7
ifneq ($(strip $(BUILD)),CROSS)
7
ifneq ($(strip $(BUILD)),CROSS)
8
SPKG0 = $(shell $(RHOME)/src/gnuwin32/Rpwd.exe $(SPKG))
8
SPKG0 = $(shell $(RHOME)/src/gnuwin32/Rpwd.exe $(SPKG))
9
DPKG0 = $(shell $(RHOME)/src/gnuwin32/Rpwd.exe $(DPKG))
9
DPKG0 = $(shell $(RHOME)/src/gnuwin32/Rpwd.exe $(DPKG))
10
else
10
else
11
SPKG0=$(SPKG)
11
SPKG0=$(SPKG)
12
DPKG0=$(DPKG)
12
DPKG0=$(DPKG)
13
endif
13
endif
14
 
14
 
15
 
15
 
16
ifeq ($(strip $(DLLNM)),)
16
ifeq ($(strip $(DLLNM)),)
17
  DLLNAME=$(PKG)
17
  DLLNAME=$(PKG)
18
else
18
else
19
  DLLNAME=$(DLLNM)
19
  DLLNAME=$(DLLNM)
20
endif
20
endif
21
#this can be overwriten by the caller
21
#this can be overwriten by the caller
22
SRC = src
22
SRC = src
23
 
23
 
24
#source directory
24
#source directory
25
SSPKG=$(SPKG)/$(SRC)
25
SSPKG=$(SPKG)/$(SRC)
26
 
26
 
27
# src Makefile?
27
# src Makefile?
28
SRCMAKE=$(wildcard $(SSPKG)/Makefile.win)
28
SRCMAKE=$(wildcard $(SSPKG)/Makefile.win)
29
SDYNLIB=$(SSPKG)/$(DLLNAME).dll
29
SDYNLIB=$(SSPKG)/$(DLLNAME).dll
30
 
30
 
31
LSOURCES=$(wildcard $(SSPKG)/*.c $(SSPKG)/*.f $(SSPKG)/*.cc \
31
LSOURCES=$(wildcard $(SSPKG)/*.c $(SSPKG)/*.f $(SSPKG)/*.cc \
32
	$(SSPKG)/*.cpp $(SSPKG)/*.C)
32
	$(SSPKG)/*.cpp $(SSPKG)/*.C)
33
ifeq ($(strip $(LSOURCES)),)
33
ifeq ($(strip $(LSOURCES)),)
34
  LOBJS=
34
  LOBJS=
35
else
35
else
36
  LOBJS=$(foreach i, $(LSOURCES), $(basename $i).o)
36
  LOBJS=$(foreach i, $(LSOURCES), $(basename $i).o)
37
endif
37
endif
38
 
38
 
39
# data
39
# data
40
DSOURCES=$(filter-out $(SPKG)/data/CVS, $(wildcard $(SPKG)/data/*))
40
DSOURCES=$(filter-out $(SPKG)/data/CVS, $(wildcard $(SPKG)/data/*))
41
ifeq ($(strip $(DSOURCES)),)
41
ifeq ($(strip $(DSOURCES)),)
42
  DATA= 
42
  DATA= 
43
else
43
else
44
  DATA=$(DPKG)/data
44
  DATA=$(DPKG)/data
45
endif
45
endif
46
 
46
 
47
# R
47
# R
48
PKGRFILES0=$(wildcard $(SPKG)/R/*.[RSqrs])
48
PKGRFILES0=$(wildcard $(SPKG)/R/*.[RSqrs])
49
RWIN32=$(wildcard $(SPKG)/R/windows/*.[Rr]) 
49
RWIN32=$(wildcard $(SPKG)/R/windows/*.[Rr]) 
50
ifeq ($(strip RWIN32),)
50
ifeq ($(strip RWIN32),)
51
  PKGRFILES=$(PKGRFILES0)
51
  PKGRFILES=$(PKGRFILES0)
52
else
52
else
53
  R1 = $(foreach i,$(RWIN32), $(addprefix $(SPKG)/R/, $(notdir $i)))
53
  R1 = $(foreach i,$(RWIN32), $(addprefix $(SPKG)/R/, $(notdir $i)))
54
  PKGRFILES=$(filter-out $(R1), $(PKGRFILES0)) $(RWIN32)
54
  PKGRFILES=$(filter-out $(R1), $(PKGRFILES0)) $(RWIN32)
55
endif
55
endif
56
 
56
 
57
# demos
57
# demos
58
PKGDEMOS0=$(wildcard $(SPKG)/demo/*)
58
PKGDEMOS0=$(wildcard $(SPKG)/demo/*)
59
PKGDEMOS=$(filter-out $(SPKG)/demo/CVS, $(PKGDEMOS0))
59
PKGDEMOS=$(filter-out $(SPKG)/demo/CVS, $(PKGDEMOS0))
60
 
60
 
61
# exec
61
# exec
62
EXECFILES=$(filter-out $(SPKG)/exec/CVS, $(wildcard $(SPKG)/exec/*))
62
EXECFILES=$(filter-out $(SPKG)/exec/CVS, $(wildcard $(SPKG)/exec/*))
63
 
63
 
64
# Others
64
# Others
65
INSTFILES=$(filter-out $(SPKG)/inst/CVS, $(wildcard $(SPKG)/inst/*))
65
INSTFILES=$(filter-out $(SPKG)/inst/CVS, $(wildcard $(SPKG)/inst/*))
66
 
66
 
-
 
67
all:  
67
all:  $(DPKG)/zzzz frontmatter nmspace Dynlib R $(DPKG)/demo \
68
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg $(DPKG)/zzzz 
-
 
69
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg -s frontmatter
-
 
70
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg -s nmspace
-
 
71
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg Dynlib 
-
 
72
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg -s R
-
 
73
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg -s $(DPKG)/demo $(DPKG)/exec $(DPKG)/inst $(DATA)
68
  $(DPKG)/exec $(DPKG)/inst $(DATA) mansrcs indices
74
	@$(MAKE) --no-print-directory -f $(RHOME)/src/gnuwin32/MakePkg -s mansrcs indices
69
 
75
 
70
fake: zzzfirst frontmatter nmspacefake R Rfake $(DPKG)/demo \
76
fake: zzzfirst frontmatter nmspacefake R Rfake $(DPKG)/demo \
71
  $(DPKG)/exec $(DPKG)/inst $(DATA) mansrcs indices
77
  $(DPKG)/exec $(DPKG)/inst $(DATA) mansrcs indices
72
 
78
 
73
include $(RHOME)/src/gnuwin32/MkRules
79
include $(RHOME)/src/gnuwin32/MkRules
74
 
80
 
75
clean:
81
clean:
76
ifeq ($(strip $(SRCMAKE)),)
82
ifeq ($(strip $(SRCMAKE)),)
77
	$(RM) $(SDYNLIB) $(LOBJS) $(SSPKG)/$(DLLNAME).a  $(SSPKG)/$(DLLNAME).def $(SSPKG)/$(DLLNAME)_res.* $(SSPKG)/*.d $(SSPKG)/Makedeps
83
	$(RM) $(SDYNLIB) $(LOBJS) $(SSPKG)/$(DLLNAME).a  $(SSPKG)/$(DLLNAME).def $(SSPKG)/$(DLLNAME)_res.* $(SSPKG)/*.d $(SSPKG)/Makedeps
78
else
84
else
79
	$(MAKE) -C $(SSPKG) RHOME=$(RHOME) -f Makefile.win clean
85
	$(MAKE) -C $(SSPKG) RHOME=$(RHOME) -f Makefile.win clean
80
endif
86
endif
81
	$(RM) -rf $(SPKG)/chm $(SPKG)/check
87
	$(RM) -rf $(SPKG)/chm $(SPKG)/check
82
 
88
 
83
## used to build skeletal versions of packages, enough to run
89
## used to build skeletal versions of packages, enough to run
84
## package tools to install them properly
90
## package tools to install them properly
85
Rcode: Rcode0 Dynlib
91
Rcode: Rcode0 Dynlib
86
 
92
 
87
Rcode0:
93
Rcode0:
88
	@$(MKDIR) -p $(DPKG) $(DPKG)/R
94
	@$(MKDIR) -p $(DPKG) $(DPKG)/R
89
	@$(CAT) $(PKGRFILES) > $(DPKG)/R/$(PKG)
95
	@$(CAT) $(PKGRFILES) > $(DPKG)/R/$(PKG)
90
	@if test -f ${SPKG}/NAMESPACE; then \
96
	@if test -f ${SPKG}/NAMESPACE; then \
91
	  $(CP) ${SPKG}/NAMESPACE $(DPKG)/NAMESPACE; \
97
	  $(CP) ${SPKG}/NAMESPACE $(DPKG)/NAMESPACE; \
92
	fi
98
	fi
93
	@(cat DESCRIPTION; $(ECHO); $(ECHO) "Built: R" $(RVER)\;  \;  `date`) \
99
	@(cat DESCRIPTION; $(ECHO); $(ECHO) "Built: R" $(RVER)\;  \;  `date`) \
94
	  | $(SED) '/^\s*$$/d' > ${DPKG}/DESCRIPTION
100
	  | $(SED) '/^\s*$$/d' > ${DPKG}/DESCRIPTION
95
 
101
 
96
$(DPKG)/R/$(PKG): $(PKGRFILES)
102
$(DPKG)/R/$(PKG): $(PKGRFILES)
97
ifneq ($(strip $(PKG)),base)
103
ifneq ($(strip $(PKG)),base)
98
ifneq ($(strip $(PKGRFILES)),)
104
ifneq ($(strip $(PKGRFILES)),)
99
	@$(ECHO) "  installing R files"
105
	@$(ECHO) "  installing R files"
100
	@$(MKDIR) -p $(DPKG)/R
106
	@$(MKDIR) -p $(DPKG)/R
101
ifeq ($(strip $(BUILD)),CROSS)
107
ifeq ($(strip $(BUILD)),CROSS)
102
	@$(ECHO) ".installPackageCodeFiles('"$(SPKG)"', '"$(DPKG)"')" \
108
	@$(ECHO) ".installPackageCodeFiles('"$(SPKG)"', '"$(DPKG)"')" \
103
	  | R_DEFAULT_PACKAGES=tools R_OSTYPE=windows LC_COLLATE=C $(R_EXE) --vanilla --slave > /dev/null
109
	  | R_DEFAULT_PACKAGES=tools R_OSTYPE=windows LC_COLLATE=C $(R_EXE) --vanilla --slave > /dev/null
104
else
110
else
105
	@$(ECHO) ".installPackageCodeFiles('"$(SPKG)"', '"$(DPKG)"')" \
111
	@$(ECHO) ".installPackageCodeFiles('"$(SPKG)"', '"$(DPKG)"')" \
106
	  | $(RHOME)/bin/rterm.exe --vanilla --slave \
112
	  | $(RHOME)/bin/rterm.exe --vanilla --slave \
107
	    R_DEFAULT_PACKAGES=tools LC_COLLATE=C > /dev/null
113
	    R_DEFAULT_PACKAGES=tools LC_COLLATE=C > /dev/null
108
endif
114
endif
109
## install halts here if collater failed
115
## install halts here if collater failed
110
	@sh $(RHOME)/src/gnuwin32/install-save.sh $(SAVE) $(RLIB) $(PKG) $(RHOME) $(BUILD) $(R_EXE)
116
	@sh $(RHOME)/src/gnuwin32/install-save.sh $(SAVE) $(RLIB) $(PKG) $(RHOME) $(BUILD) $(R_EXE)
111
else
117
else
112
	@$(ECHO) "  no R files in this package"
118
	@$(ECHO) "  no R files in this package"
113
endif
119
endif
114
else
120
else
115
## .installPackageCodeFiles adds an unwanted .packageName
121
## .installPackageCodeFiles adds an unwanted .packageName
116
	@$(ECHO) "  installing R files"
122
	@$(ECHO) "  installing R files"
117
	@$(MKDIR) -p $(DPKG)/R
123
	@$(MKDIR) -p $(DPKG)/R
118
	@$(CAT) $(PKGRFILES) > $(DPKG)/R/$(PKG)
124
	@$(CAT) $(PKGRFILES) > $(DPKG)/R/$(PKG)
119
endif
125
endif
120
 
126
 
121
$(DPKG)/demo: $(PKGDEMOS)
127
$(DPKG)/demo: $(PKGDEMOS)
122
ifneq ($(strip $(PKGDEMOS)),)
128
ifneq ($(strip $(PKGDEMOS)),)
123
	@$(ECHO) "  installing demos"
129
	@$(ECHO) "  installing demos"
124
	@$(RM) -rf $@
130
	@$(RM) -rf $@
125
	@$(MKDIR) -p $@
131
	@$(MKDIR) -p $@
126
	@$(CP) $(PKGDEMOS)   $@
132
	@$(CP) $(PKGDEMOS)   $@
127
endif
133
endif
128
 
134
 
129
$(DPKG)/exec: $(EXECFILES)
135
$(DPKG)/exec: $(EXECFILES)
130
ifneq ($(strip $(EXECFILES)),)
136
ifneq ($(strip $(EXECFILES)),)
131
	@$(ECHO) "  installing exec files"
137
	@$(ECHO) "  installing exec files"
132
	@$(RM) -rf $@
138
	@$(RM) -rf $@
133
	@$(MKDIR) -p $@
139
	@$(MKDIR) -p $@
134
	@$(CP) $(EXECFILES)   $@
140
	@$(CP) $(EXECFILES)   $@
135
endif
141
endif
136
 
142
 
137
$(DPKG)/inst: $(INSTFILES)
143
$(DPKG)/inst: $(INSTFILES)
138
ifneq ($(strip $(INSTFILES)),)
144
ifneq ($(strip $(INSTFILES)),)
139
	@$(ECHO) "  installing inst files"
145
	@$(ECHO) "  installing inst files"
140
	-@$(CP) -r inst/* $(DPKG)
146
	-@$(CP) -r inst/* $(DPKG)
141
	@$(RM) -rf $(DPKG)/CVS $(DPKG)/*/CVS
147
	@$(RM) -rf $(DPKG)/CVS $(DPKG)/*/CVS
142
endif
148
endif
143
 
149
 
144
 
150
 
145
$(DPKG)/zzzz: zzzfirst
151
$(DPKG)/zzzz: zzzfirst
146
	@if test -f ${SPKG}/configure.win; then \
152
	@if test -f ${SPKG}/configure.win; then \
147
	  sh ${SPKG}/configure.win; \
153
	  sh ${SPKG}/configure.win; \
148
	else if test -f ${SPKG}/configure; then \
154
	else if test -f ${SPKG}/configure; then \
149
	    $(ECHO) ; \
155
	    $(ECHO) ; \
150
	    $(ECHO) "   **********************************************" ; \
156
	    $(ECHO) "   **********************************************" ; \
151
	    $(ECHO) "   WARNING: this package has a configure script" ; \
157
	    $(ECHO) "   WARNING: this package has a configure script" ; \
152
	    $(ECHO) "         It probably needs manual configuration" ; \
158
	    $(ECHO) "         It probably needs manual configuration" ; \
153
	    $(ECHO) "   **********************************************" ; \
159
	    $(ECHO) "   **********************************************" ; \
154
	    $(ECHO) ; \
160
	    $(ECHO) ; \
155
	  fi; \
161
	  fi; \
156
	fi
162
	fi
157
 
163
 
158
zzzfirst:
164
zzzfirst:
159
ifeq ($(SPKG0),$(DPKG0))
165
ifeq ($(SPKG0),$(DPKG0))
160
	@$(ECHO)
166
	@$(ECHO)
161
	@$(ECHO) "  *** cannot install a package into its source directory ***"
167
	@$(ECHO) "  *** cannot install a package into its source directory ***"
162
	@$(ECHO)
168
	@$(ECHO)
163
	@exit 111
169
	@exit 111
164
endif
170
endif
165
	@$(ECHO)
171
	@$(ECHO)
166
	@$(ECHO) "---------- Making package $(PKG) ------------"
172
	@$(ECHO) "---------- Making package $(PKG) ------------"
167
	@$(MKDIR) -p $(DPKG)
173
	@$(MKDIR) -p $(DPKG)
168
 
174
 
169
 
175
 
170
frontmatter:
176
frontmatter:
171
	@$(MKDIR) -p $(DPKG)
177
	@$(MKDIR) -p $(DPKG)
172
	@if test -f ${SPKG}/DESCRIPTION; then \
178
	@if test -f ${SPKG}/DESCRIPTION; then \
173
	  $(ECHO) "  adding build stamp to DESCRIPTION"; \
179
	  $(ECHO) "  adding build stamp to DESCRIPTION"; \
174
	else \
180
	else \
175
	  $(ECHO) "A package must contain a DESCRIPTION file"; \
181
	  $(ECHO) "A package must contain a DESCRIPTION file"; \
176
	  exit 27; \
182
	  exit 27; \
177
	fi
183
	fi
178
ifeq ($(strip $(BUILD)),CROSS)
184
ifeq ($(strip $(BUILD)),CROSS)
179
	@$(ECHO) ".installPackageDescription('.', '"$(DPKG)"')" | \
185
	@$(ECHO) ".installPackageDescription('.', '"$(DPKG)"')" | \
180
	  R_DEFAULT_PACKAGES=tools R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null
186
	  R_DEFAULT_PACKAGES=tools R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null
181
else
187
else
182
	@$(ECHO) ".installPackageDescription('.', '"$(DPKG)"')" | \
188
	@$(ECHO) ".installPackageDescription('.', '"$(DPKG)"')" | \
183
	  $(RHOME)/bin/rterm.exe --vanilla --slave R_DEFAULT_PACKAGES=tools > /dev/null
189
	  $(RHOME)/bin/rterm.exe --vanilla --slave R_DEFAULT_PACKAGES=tools > /dev/null
184
endif
190
endif
185
 
191
 
186
nmspace:
192
nmspace:
187
ifeq ($(strip $(BUILD)),CROSS)
193
ifeq ($(strip $(BUILD)),CROSS)
188
	@if test -f ${SPKG}/NAMESPACE; then \
194
	@if test -f ${SPKG}/NAMESPACE; then \
189
	  $(ECHO) -n "  installing NAMESPACE file"; \
195
	  $(ECHO) -n "  installing NAMESPACE file"; \
190
	  if test -f ${SPKG}/NAMESPACE.windows ; then \
196
	  if test -f ${SPKG}/NAMESPACE.windows ; then \
191
	  cat ${SPKG}/NAMESPACE ${SPKG}/NAMESPACE.windows > $(DPKG)/NAMESPACE; \
197
	  cat ${SPKG}/NAMESPACE ${SPKG}/NAMESPACE.windows > $(DPKG)/NAMESPACE; \
192
	  else \
198
	  else \
193
	    $(CP) ${SPKG}/NAMESPACE $(DPKG)/NAMESPACE; \
199
	    $(CP) ${SPKG}/NAMESPACE $(DPKG)/NAMESPACE; \
194
          fi ; \
200
          fi ; \
195
	  $(ECHO) " and metadata"; \
201
	  $(ECHO) " and metadata"; \
196
	  $(ECHO) ".installPackageNamespaceInfo('$(DPKG)', '$(DPKG)')" | \
202
	  $(ECHO) ".installPackageNamespaceInfo('$(DPKG)', '$(DPKG)')" | \
197
	    R_DEFAULT_PACKAGES=tools R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null; \
203
	    R_DEFAULT_PACKAGES=tools R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null; \
198
	fi
204
	fi
199
else
205
else
200
	@if test -f ${SPKG}/NAMESPACE; then \
206
	@if test -f ${SPKG}/NAMESPACE; then \
201
	  $(ECHO) -n "  installing NAMESPACE file"; \
207
	  $(ECHO) -n "  installing NAMESPACE file"; \
202
	  if test -f ${SPKG}/NAMESPACE.windows ; then \
208
	  if test -f ${SPKG}/NAMESPACE.windows ; then \
203
	  cat ${SPKG}/NAMESPACE ${SPKG}/NAMESPACE.windows > $(DPKG)/NAMESPACE; \
209
	  cat ${SPKG}/NAMESPACE ${SPKG}/NAMESPACE.windows > $(DPKG)/NAMESPACE; \
204
	  else \
210
	  else \
205
	    $(CP) ${SPKG}/NAMESPACE $(DPKG)/NAMESPACE; \
211
	    $(CP) ${SPKG}/NAMESPACE $(DPKG)/NAMESPACE; \
206
          fi ; \
212
          fi ; \
207
	  $(ECHO) " and metadata"; \
213
	  $(ECHO) " and metadata"; \
208
	  $(ECHO) ".installPackageNamespaceInfo('$(DPKG)', '$(DPKG)')" | \
214
	  $(ECHO) ".installPackageNamespaceInfo('$(DPKG)', '$(DPKG)')" | \
209
	    $(RHOME)/bin/rterm.exe R_DEFAULT_PACKAGES=tools --vanilla --slave > /dev/null; \
215
	    $(RHOME)/bin/rterm.exe R_DEFAULT_PACKAGES=tools --vanilla --slave > /dev/null; \
210
	fi
216
	fi
211
endif
217
endif
212
nmspacefake:
218
nmspacefake:
213
	@if test -f ${SPKG}/NAMESPACE; then \
219
	@if test -f ${SPKG}/NAMESPACE; then \
214
	  $(ECHO) "  installing NAMESPACE file"; \
220
	  $(ECHO) "  installing NAMESPACE file"; \
215
	  $(SED) -e '/useDynLib/d' ${SPKG}/NAMESPACE > $(DPKG)/NAMESPACE; \
221
	  $(SED) -e '/useDynLib/d' ${SPKG}/NAMESPACE > $(DPKG)/NAMESPACE; \
216
	fi
222
	fi
217
 
223
 
218
 
224
 
219
$(DATA): $(DSOURCES)
225
$(DATA): $(DSOURCES)
220
	@$(ECHO) "  installing data files"
226
	@$(ECHO) "  installing data files"
221
	@$(RM) -rf $(DATA)
227
	@$(RM) -rf $(DATA)
222
	@$(MKDIR) -p $(DATA)
228
	@$(MKDIR) -p $(DATA)
223
	@$(CP) $^  $@
229
	@$(CP) $^  $@
224
 
230
 
225
 
231
 
226
Dynlib: srcDynlib
232
Dynlib: srcDynlib
227
	@if test -f $(SDYNLIB) ; then \
233
	@if test -f $(SDYNLIB) ; then \
228
	  $(ECHO) "  installing DLL" ; \
234
	  $(ECHO) "  installing DLL" ; \
229
	  $(MKDIR) -p $(DPKG)/libs ; \
235
	  $(MKDIR) -p $(DPKG)/libs ; \
230
	  $(CP) $(SDYNLIB) $(DPKG)/libs ; \
236
	  $(CP) $(SDYNLIB) $(DPKG)/libs ; \
231
	fi
237
	fi
232
 
238
 
233
srcDynlib:
239
srcDynlib:
234
ifeq ($(strip $(SRCMAKE)),)
240
ifeq ($(strip $(SRCMAKE)),)
235
ifneq ($(strip $(LOBJS)),)
241
ifneq ($(strip $(LOBJS)),)
236
	@$(ECHO) "  making DLL ..."
242
	@$(ECHO) "  making DLL ..."
237
	@$(MAKE) --no-print-directory -C $(SSPKG) RHOME=$(RHOME) \
243
	@$(MAKE) --no-print-directory -C $(SSPKG) RHOME=$(RHOME) \
238
	  -f $(RHOME)/src/gnuwin32/MakeDll DLLNAME=$(DLLNAME)
244
	  -f $(RHOME)/src/gnuwin32/MakeDll DLLNAME=$(DLLNAME)
239
	@$(ECHO) "  ... DLL made"
245
	@$(ECHO) "  ... DLL made"
240
endif
246
endif
241
else
247
else
242
	@$(ECHO) "  running src/Makefile.win ..."
248
	@$(ECHO) "  running src/Makefile.win ..."
243
	@$(MAKE) --no-print-directory -C $(SSPKG) RHOME=$(RHOME) -f Makefile.win
249
	@$(MAKE) --no-print-directory -C $(SSPKG) RHOME=$(RHOME) -f Makefile.win
244
	@$(ECHO) "  ... done"
250
	@$(ECHO) "  ... done"
245
endif
251
endif
246
 
252
 
247
# R
253
# R
248
AA=$(wildcard R/Makefile.win)
254
AA=$(wildcard R/Makefile.win)
249
ifeq ($(AA),)
255
ifeq ($(AA),)
250
 R: $(DPKG)/R/$(PKG)
256
 R: $(DPKG)/R/$(PKG)
251
else
257
else
252
 include R/Makefile.win
258
 include R/Makefile.win
253
endif
259
endif
254
 
260
 
255
Rfake:
261
Rfake:
256
	@if test -f $(SPKG)/NAMESPACE; then \
262
	@if test -f $(SPKG)/NAMESPACE; then \
257
	  echo ".onLoad <- function(list, pkg) NULL" >> $(DPKG)/R/$(PKG) ; \
263
	  echo ".onLoad <- function(list, pkg) NULL" >> $(DPKG)/R/$(PKG) ; \
258
	else \
264
	else \
259
	  echo ".First.lib <- function(lib, pkg) NULL" >> $(DPKG)/R/$(PKG) ;\
265
	  echo ".First.lib <- function(lib, pkg) NULL" >> $(DPKG)/R/$(PKG) ;\
260
	fi
266
	fi
261
 
267
 
262
 
268
 
263
MANMAIN=$(wildcard $(SPKG)/man/*.[Rr]d)
269
MANMAIN=$(wildcard $(SPKG)/man/*.[Rr]d)
264
MANWIN32=$(wildcard $(SPKG)/man/windows/*.[Rr]d) 
270
MANWIN32=$(wildcard $(SPKG)/man/windows/*.[Rr]d) 
265
 
271
 
266
mansrcs: $(DPKG)/man/$(PKG).Rd
272
mansrcs: $(DPKG)/man/$(PKG).Rd
267
 
273
 
268
PKGMANFILES=$(MANMAIN) $(MANWIN32)
274
PKGMANFILES=$(MANMAIN) $(MANWIN32)
269
$(DPKG)/man/$(PKG).Rd: $(MANMAIN) $(MANWIN32)
275
$(DPKG)/man/$(PKG).Rd: $(MANMAIN) $(MANWIN32)
270
ifneq ($(strip $(PKGMANFILES)),)
276
ifneq ($(strip $(PKGMANFILES)),)
271
	@$(ECHO) "  installing man source files"
277
	@$(ECHO) "  installing man source files"
272
	@$(RM) -rf $(DPKG)/man
278
	@$(RM) -rf $(DPKG)/man
273
	@$(MKDIR) -p $(DPKG)/man
279
	@$(MKDIR) -p $(DPKG)/man
274
	@for rdfile in $^; do \
280
	@for rdfile in $^; do \
275
	  $(CAT) $${rdfile}; echo; echo '\eof'; \
281
	  $(CAT) $${rdfile}; echo; echo '\eof'; \
276
	done > $(DPKG)/man/$(PKG).Rd
282
	done > $(DPKG)/man/$(PKG).Rd
277
else
283
else
278
	@$(ECHO) "  no man files in this package"
284
	@$(ECHO) "  no man files in this package"
279
endif
285
endif
280
 
286
 
281
indices:
287
indices:
282
	@$(ECHO) "  installing indices"
288
	@$(ECHO) "  installing indices"
283
ifeq ($(strip $(BUILD)),CROSS)
289
ifeq ($(strip $(BUILD)),CROSS)
284
	@$(ECHO) ".installPackageIndices('.', '"$(DPKG)"')" | \
290
	@$(ECHO) ".installPackageIndices('.', '"$(DPKG)"')" | \
285
	  R_DEFAULT_PACKAGES=tools LC_COLLATE=C R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null
291
	  R_DEFAULT_PACKAGES=tools LC_COLLATE=C R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null
286
else
292
else
287
	@$(ECHO) ".installPackageIndices('.', '"$(DPKG)"')" | \
293
	@$(ECHO) ".installPackageIndices('.', '"$(DPKG)"')" | \
288
	  $(RHOME)/bin/rterm.exe --vanilla --slave R_DEFAULT_PACKAGES=tools LC_COLLATE=C > /dev/null
294
	  $(RHOME)/bin/rterm.exe --vanilla --slave R_DEFAULT_PACKAGES=tools LC_COLLATE=C > /dev/null
289
endif
295
endif
290
# need not have HTML installed when building packages
296
# need not have HTML installed when building packages
291
	@$(MKDIR) -p $(RHOME)/doc/html/search
297
	@$(MKDIR) -p $(RHOME)/doc/html/search
292
	@$(CAT) $(RHOME)/library/*/CONTENTS > $(RHOME)/doc/html/search/index.txt	
298
	@$(CAT) $(RHOME)/library/*/CONTENTS > $(RHOME)/doc/html/search/index.txt	
293
	@PERL5LIB=$(RHOME)/share/perl $(PERL) \
299
	@PERL5LIB=$(RHOME)/share/perl $(PERL) \
294
	  $(RHOME)/share/perl/build-help-windows.pl -htmllists
300
	  $(RHOME)/share/perl/build-help-windows.pl -htmllists
295
 
301
 
296
md5sums:
302
md5sums:
297
ifneq ($(strip $(PKG)),base)
303
ifneq ($(strip $(PKG)),base)
298
	@$(ECHO) "  adding MD5 sums"
304
	@$(ECHO) "  adding MD5 sums"
299
ifeq ($(strip $(BUILD)),CROSS)
305
ifeq ($(strip $(BUILD)),CROSS)
300
	@$(ECHO) ".installMD5sums('"$(DPKG)"')" | \
306
	@$(ECHO) ".installMD5sums('"$(DPKG)"')" | \
301
	  R_DEFAULT_PACKAGES=tools LC_COLLATE=C R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null
307
	  R_DEFAULT_PACKAGES=tools LC_COLLATE=C R_OSTYPE=windows $(R_EXE) --vanilla --slave > /dev/null
302
else
308
else
303
	@$(ECHO) ".installMD5sums('"$(DPKG)"')" | \
309
	@$(ECHO) ".installMD5sums('"$(DPKG)"')" | \
304
	  $(RHOME)/bin/rterm.exe --vanilla --slave R_DEFAULT_PACKAGES=tools LC_COLLATE=C > /dev/null
310
	  $(RHOME)/bin/rterm.exe --vanilla --slave R_DEFAULT_PACKAGES=tools LC_COLLATE=C > /dev/null
305
endif
311
endif
306
endif
312
endif