|
1 # Makefile for creating Windows CE release archives, with the |
|
2 # mingw32ce compiler. |
|
3 |
|
4 # Last updated: 22-Jul-2008 |
|
5 |
|
6 # Copyright (C) 2008 Vincent Torri |
|
7 |
|
8 # This code is released under the libpng license. |
|
9 # For conditions of distribution and use, see the disclaimer |
|
10 # and license in png.h |
|
11 |
|
12 # To get some help, type |
|
13 # |
|
14 # make help |
|
15 # |
|
16 # To create the archives |
|
17 # |
|
18 # make |
|
19 # |
|
20 # To remove everything, type: |
|
21 # |
|
22 # make clean |
|
23 |
|
24 VERMAJ = 1 |
|
25 VERMIN = 4 |
|
26 VERMIC = 0 |
|
27 VER = $(VERMAJ).$(VERMIN).$(VERMIC) |
|
28 NAME = libpng |
|
29 PACKAGE = $(NAME)-$(VER) |
|
30 |
|
31 BIN = libpng14-0.dll libpng-14.dll |
|
32 LIB = libpng14.a libpng14.dll.a libpng.a libpng.dll.a scripts/png32ce.def |
|
33 INCLUDE = png.h pngconf.h pngpriv.h |
|
34 PC = libpng14.pc libpng.pc |
|
35 |
|
36 MANIFESTVERBIN = "Libpng-$(VER): Binary files" |
|
37 MANIFESTVERDEV = "Libpng-$(VER): Developer files" |
|
38 MANIFESTVERDESC = "Libpng: the official PNG reference library" |
|
39 |
|
40 all: $(NAME) |
|
41 |
|
42 $(NAME): remove-old copy-src compilation copy manifest archive |
|
43 @echo " * Removal of the directories" |
|
44 @rm -rf $(PACKAGE)/ $(PACKAGE)-bin/ $(PACKAGE)-dev/ |
|
45 |
|
46 remove-old: |
|
47 @echo " * Removal of the old files" |
|
48 @rm -rf $(PACKAGE)-bin* |
|
49 @rm -rf $(PACKAGE)-dev* |
|
50 |
|
51 copy-src: |
|
52 @echo " * Copy of source files" |
|
53 @cp -R ../src/$(PACKAGE) . |
|
54 @echo " * Creation of directories and files" |
|
55 @mkdir -p $(PACKAGE)-bin/bin |
|
56 @mkdir -p $(PACKAGE)-bin/manifest |
|
57 @mkdir -p $(PACKAGE)-dev/lib/pkgconfig |
|
58 @mkdir -p $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN) |
|
59 @mkdir -p $(PACKAGE)-dev/manifest |
|
60 @touch $(PACKAGE)-bin/manifest/$(PACKAGE)-bin.mft |
|
61 @touch $(PACKAGE)-bin/manifest/$(PACKAGE)-bin.ver |
|
62 @touch $(PACKAGE)-dev/manifest/$(PACKAGE)-dev.mft |
|
63 @touch $(PACKAGE)-dev/manifest/$(PACKAGE)-dev.ver |
|
64 |
|
65 compilation: |
|
66 @echo " * Compilation of $(PACKAGE)" |
|
67 cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_BUILD_DLL -DPNG_CONSOLE_IO_SUPPORTED -DPNG_NO_MMX_CODE -D_WIN32_WCE=0x0420" CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" ./configure --prefix=/opt/wince --host=arm-mingw32ce && make |
|
68 |
|
69 copy: |
|
70 @echo " * Copy of binary and development files" |
|
71 @for i in $(BIN); do \ |
|
72 cp $(PACKAGE)/.libs/$$i $(PACKAGE)-bin/bin; \ |
|
73 done |
|
74 @for i in $(LIB); do \ |
|
75 cp $(PACKAGE)/.libs/$$i $(PACKAGE)-dev/lib; \ |
|
76 done |
|
77 @for i in $(INCLUDE); do \ |
|
78 cp $(PACKAGE)/$$i $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN); \ |
|
79 done |
|
80 @for i in $(PC); do \ |
|
81 cp $(PACKAGE)/$$i $(PACKAGE)-dev/lib/pkgconfig; \ |
|
82 done |
|
83 |
|
84 manifest: |
|
85 @echo " * Creation of the manifest" |
|
86 @cd $(PACKAGE)-bin && find * >> manifest/$(PACKAGE)-bin.mft |
|
87 @cd $(PACKAGE)-bin && \ |
|
88 echo $(MANIFESTVERBIN) >> manifest/$(PACKAGE)-bin.ver && \ |
|
89 echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-bin.ver |
|
90 @cd $(PACKAGE)-dev && find * >> manifest/$(PACKAGE)-dev.mft |
|
91 @cd $(PACKAGE)-dev && \ |
|
92 echo $(MANIFESTVERDEV) >> manifest/$(PACKAGE)-dev.ver && \ |
|
93 echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-dev.ver |
|
94 |
|
95 archive: |
|
96 @echo " * Creation of the archives" |
|
97 @tar cf $(PACKAGE)-bin.tar $(PACKAGE)-bin |
|
98 @bzip2 -9 $(PACKAGE)-bin.tar |
|
99 @tar cf $(PACKAGE)-dev.tar $(PACKAGE)-dev |
|
100 @bzip2 -9 $(PACKAGE)-dev.tar |
|
101 |
|
102 clean: |
|
103 @echo " * Cleaning" |
|
104 @rm -rf $(PACKAGE)* |
|
105 |
|
106 help: |
|
107 @echo |
|
108 @echo "To create the archives, type:" |
|
109 @echo " make" |
|
110 @echo |
|
111 @echo "To remove everything, type:" |
|
112 @echo " make clean" |
|
113 @echo |