The R Project SVN R

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6430 guido 1
include ../MkRules
2
 
3
JPEGDIR=jpeg-6b
27989 ripley 4
PNGDIR=libpng
6430 guido 5
 
42569 ripley 6
.PHONY: all DLL buildzlib buildpng buildjpeg clean
7
 
27989 ripley 8
all:
42569 ripley 9
	@$(MAKE) --no-print-directory buildzlib buildpng buildjpeg rbitmap.o
10
	@$(MKDIR) -p ../../../library/grDevices/libs
11
	@$(MAKE) --no-print-directory DLL
6430 guido 12
 
42569 ripley 13
DLL: ../../../library/grDevices/libs/Rbitmap.dll
14
 
17800 ripley 15
buildzlib:
27989 ripley 16
	@$(MAKE) -C ../../extra/zlib -f Makefile.win
6430 guido 17
 
42581 ripley 18
## There is a makefile.mingw these days, but .std has always worked
19
## Neither the makefile.{mingw,std} build pnggccrd.c but it is needed if
20
## the compiler defines __MMX__ , which the win64 gcc does.
21
## So we need to explicitly disable it.
6430 guido 22
buildpng:
42581 ripley 23
	@$(MAKE) CC='$(CC)' \
24
	  CFLAGS="-O3 -I../../../extra/zlib -DPNG_NO_MMX_CODE" \
37098 ripley 25
	  RANLIB=$(RANLIB) ZLIBLIB=../../../extra/zlib -C $(PNGDIR) \
26
	  -f scripts/makefile.std libpng.a
6430 guido 27
 
28
# jconfig.h and Makefile obtained running 'CC="gcc -mno-cygwin" ./configure'
29
# under CYGWIN. They are here since the configure script doesn't run 
17800 ripley 30
# (I suspect) using the reduced set of tools we distribute.
37099 ripley 31
## 2006-01-15 checked under current tools
6430 guido 32
buildjpeg: $(JPEGDIR)/jconfig.h Makefile.jpeg
37098 ripley 33
	$(MAKE) CC='$(CC)' AR='$(AR) rc' RANLIB=$(RANLIB) -C $(JPEGDIR) \
34
	  -f ../Makefile.jpeg libjpeg.a
6430 guido 35
 
36
$(JPEGDIR)/jconfig.h: jconfig.h 
37
	$(CP) jconfig.h $(JPEGDIR)/jconfig.h
38
 
42569 ripley 39
rbitmap-CPPFLAGS=-DHAVE_PNG -DHAVE_JPEG -I../../extra/zlib -I./libpng -I$(JPEGDIR) -I../../include
40
CFLAGS=-O3 -Wall -pedantic 
6430 guido 41
 
42569 ripley 42
../../../library/grDevices/libs/Rbitmap.dll: rbitmap.o $(PNGDIR)/libpng.a $(JPEGDIR)/libjpeg.a
37364 ripley 43
	$(DLL) -shared -s -o $@ $^ -L../../../bin -lR
6430 guido 44
 
6644 ripley 45
clean:
46
	$(RM) *.o *.a *.dll *.def *~ \#*\#
27989 ripley 47
	-$(MAKE) CC='$(CC)' -C $(PNGDIR) -f scripts/makefile.std clean
9449 ripley 48
	-$(MAKE) CC='$(CC)' -C $(JPEGDIR) -f ../Makefile.jpeg clean
6430 guido 49
 
50
 
51
 
6644 ripley 52