| 1 |
## These can be overridden in MkRules.dist or MkRules.local
|
1 |
## These can be overridden in MkRules.dist or MkRules.local
|
| 2 |
|
2 |
|
| 3 |
## must be jpeg-7 jpeg-8 jpeg-8a jpeg-8b jpeg-8c jpeg-8d libjpeg-turbo
|
3 |
## must be jpeg-7 jpeg-8 jpeg-8a jpeg-8b jpeg-8c jpeg-8d jpeg-9 libjpeg-turbo
|
| 4 |
JPEGDIR = jpeg-8d
|
4 |
JPEGDIR = jpeg-9
|
| 5 |
PNGDIR = libpng
|
5 |
PNGDIR = libpng
|
| 6 |
TIFFDIR = libtiff
|
6 |
TIFFDIR = libtiff
|
| 7 |
|
7 |
|
| 8 |
include ../MkRules
|
8 |
include ../MkRules
|
| 9 |
|
9 |
|
| 10 |
.PHONY: all DLL buildzlib buildpng buildjpeg buildtiff clean
|
10 |
.PHONY: all DLL buildzlib buildpng buildjpeg buildtiff clean
|
| 11 |
|
11 |
|
| 12 |
all:
|
12 |
all:
|
| 13 |
@$(MAKE) --no-print-directory buildzlib buildpng buildjpeg buildtiff rbitmap.o
|
13 |
@$(MAKE) --no-print-directory buildzlib buildpng buildjpeg buildtiff rbitmap.o
|
| 14 |
@$(MKDIR) -p ../../../library/grDevices/libs
|
14 |
@$(MKDIR) -p ../../../library/grDevices/libs
|
| 15 |
@$(MAKE) --no-print-directory DLL
|
15 |
@$(MAKE) --no-print-directory DLL
|
| 16 |
|
16 |
|
| 17 |
DLL: ../../../library/grDevices/libs$(R_ARCH)/Rbitmap.dll
|
17 |
DLL: ../../../library/grDevices/libs$(R_ARCH)/Rbitmap.dll
|
| 18 |
|
18 |
|
| 19 |
buildzlib:
|
19 |
buildzlib:
|
| 20 |
@$(MAKE) -C ../../extra/zlib -f Makefile.win
|
20 |
@$(MAKE) -C ../../extra/zlib -f Makefile.win
|
| 21 |
|
21 |
|
| 22 |
## There is a makefile.mingw in 1.2.x and 1.4.x but not 1.5.x
|
22 |
## There is a makefile.mingw in 1.2.x and 1.4.x but not 1.5.x
|
| 23 |
## Neither the makefile.{mingw,std} build pnggccrd.c but it is needed if
|
23 |
## Neither the makefile.{mingw,std} build pnggccrd.c but it is needed if
|
| 24 |
## the compiler defines __MMX__ , which the win64 gcc does.
|
24 |
## the compiler defines __MMX__ , which the win64 gcc does.
|
| 25 |
## So we need to explicitly disable it.
|
25 |
## So we need to explicitly disable it.
|
| 26 |
## prefix=foo shuts up a warning
|
26 |
## prefix=foo shuts up a warning
|
| 27 |
buildpng:
|
27 |
buildpng:
|
| 28 |
$(MAKE) CC='$(CC)' AR='$(AR)' AR_RC='$(AR) rcs' \
|
28 |
$(MAKE) CC='$(CC)' AR='$(AR)' AR_RC='$(AR) rcs' \
|
| 29 |
CFLAGS="-O3 -I../../../extra/zlib -DPNG_NO_MMX_CODE" \
|
29 |
CFLAGS="-O3 -I../../../extra/zlib -DPNG_NO_MMX_CODE" \
|
| 30 |
RANLIB=$(RANLIB) ZLIBLIB=../../../extra/zlib -C $(PNGDIR) \
|
30 |
RANLIB=$(RANLIB) ZLIBLIB=../../../extra/zlib -C $(PNGDIR) \
|
| 31 |
-f scripts/makefile.gcc prefix=foo libpng.a
|
31 |
-f scripts/makefile.gcc prefix=foo libpng.a
|
| 32 |
|
32 |
|
| 33 |
buildjpeg: $(JPEGDIR)/jconfig.h Makefile.jpeg
|
33 |
buildjpeg: $(JPEGDIR)/jconfig.h Makefile.jpeg
|
| 34 |
$(MAKE) CC='$(CC)' AR='$(AR) rc' RANLIB=$(RANLIB) JPEGDIR=$(JPEGDIR) -C $(JPEGDIR) \
|
34 |
$(MAKE) CC='$(CC)' AR='$(AR) rc' RANLIB=$(RANLIB) JPEGDIR=$(JPEGDIR) -C $(JPEGDIR) \
|
| 35 |
-f ../Makefile.jpeg libjpeg.a
|
35 |
-f ../Makefile.jpeg libjpeg.a
|
| 36 |
|
36 |
|
| 37 |
$(JPEGDIR)/jconfig.h: jconfig.h
|
37 |
$(JPEGDIR)/jconfig.h: jconfig.h
|
| 38 |
$(CP) jconfig.h $(JPEGDIR)/jconfig.h
|
38 |
$(CP) jconfig.h $(JPEGDIR)/jconfig.h
|
| 39 |
|
39 |
|
| 40 |
## This gives a lot of warnings on Win64, but seems to work
|
40 |
## This gives a lot of warnings on Win64, but seems to work
|
| 41 |
buildtiff: $(JPEGDIR)/jconfig.h Makefile.tiff
|
41 |
buildtiff: $(JPEGDIR)/jconfig.h Makefile.tiff
|
| 42 |
$(MAKE) CC='$(CC)' AR='$(AR)' RANLIB=$(RANLIB) -C $(TIFFDIR) -f ../Makefile.tiff JPEGDIR=$(JPEGDIR)
|
42 |
$(MAKE) CC='$(CC)' AR='$(AR)' RANLIB=$(RANLIB) -C $(TIFFDIR) -f ../Makefile.tiff JPEGDIR=$(JPEGDIR)
|
| 43 |
|
43 |
|
| 44 |
rbitmap-CPPFLAGS=-DHAVE_PNG -DHAVE_JPEG -DHAVE_TIFF -I. -I../../extra/zlib -I./$(PNGDIR) -I$(JPEGDIR) -I./$(TIFFDIR) -I../../include
|
44 |
rbitmap-CPPFLAGS=-DHAVE_PNG -DHAVE_JPEG -DHAVE_TIFF -I. -I../../extra/zlib -I./$(PNGDIR) -I$(JPEGDIR) -I./$(TIFFDIR) -I../../include
|
| 45 |
CFLAGS=-O3 -Wall -pedantic
|
45 |
CFLAGS=-O3 -Wall -pedantic
|
| 46 |
|
46 |
|
| 47 |
../../../library/grDevices/libs$(R_ARCH)/Rbitmap.dll: rbitmap.o $(TIFFDIR)/libtiff.a $(PNGDIR)/libpng.a $(JPEGDIR)/libjpeg.a
|
47 |
../../../library/grDevices/libs$(R_ARCH)/Rbitmap.dll: rbitmap.o $(TIFFDIR)/libtiff.a $(PNGDIR)/libpng.a $(JPEGDIR)/libjpeg.a
|
| 48 |
$(DLL) -shared -s -o $@ $^ -L../../../$(IMPDIR) -lR -lRzlib
|
48 |
$(DLL) -shared -s -o $@ $^ -L../../../$(IMPDIR) -lR -lRzlib
|
| 49 |
|
49 |
|
| 50 |
clean:
|
50 |
clean:
|
| 51 |
$(RM) *.o *.a *.dll *.def *~ \#*\#
|
51 |
$(RM) *.o *.a *.dll *.def *~ \#*\#
|
| 52 |
-$(MAKE) CC='$(CC)' -C $(PNGDIR) -f scripts/makefile.std clean
|
52 |
-$(MAKE) CC='$(CC)' -C $(PNGDIR) -f scripts/makefile.std clean
|
| 53 |
-$(MAKE) CC='$(CC)' -C $(JPEGDIR) -f ../Makefile.jpeg clean
|
53 |
-$(MAKE) CC='$(CC)' -C $(JPEGDIR) -f ../Makefile.jpeg clean
|
| 54 |
-$(MAKE) CC='$(CC)' -C $(TIFFDIR) -f ../Makefile.tiff clean
|
54 |
-$(MAKE) CC='$(CC)' -C $(TIFFDIR) -f ../Makefile.tiff clean
|
| 55 |
|
55 |
|
| 56 |
|
56 |
|
| 57 |
|
57 |
|