]>
Commit | Line | Data |
---|---|---|
b61cc19c PC |
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 | |
fff5f7d5 VZ |
25 | VERMIN = 6 |
26 | VERMIC = 2 | |
b61cc19c PC |
27 | VER = $(VERMAJ).$(VERMIN).$(VERMIC) |
28 | NAME = libpng | |
29 | PACKAGE = $(NAME)-$(VER) | |
30 | ||
fff5f7d5 VZ |
31 | BIN = libpng16-0.dll |
32 | LIB = libpng16.a libpng16.dll.a libpng.a libpng.dll.a | |
33 | INCLUDE = png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
34 | PC = libpng16.pc libpng.pc | |
b61cc19c 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)" | |
9c0d9ce3 DS |
67 | cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_CONSOLE_IO_SUPPORTED -D_WIN32_WCE=0x0420" \ |
68 | CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" \ | |
69 | LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" \ | |
70 | ./configure --prefix=/opt/wince --host=arm-mingw32ce && make | |
b61cc19c PC |
71 | |
72 | copy: | |
73 | @echo " * Copy of binary and development files" | |
74 | @for i in $(BIN); do \ | |
75 | cp $(PACKAGE)/.libs/$$i $(PACKAGE)-bin/bin; \ | |
76 | done | |
77 | @for i in $(LIB); do \ | |
78 | cp $(PACKAGE)/.libs/$$i $(PACKAGE)-dev/lib; \ | |
79 | done | |
80 | @for i in $(INCLUDE); do \ | |
81 | cp $(PACKAGE)/$$i $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN); \ | |
82 | done | |
83 | @for i in $(PC); do \ | |
84 | cp $(PACKAGE)/$$i $(PACKAGE)-dev/lib/pkgconfig; \ | |
85 | done | |
86 | ||
87 | manifest: | |
88 | @echo " * Creation of the manifest" | |
89 | @cd $(PACKAGE)-bin && find * >> manifest/$(PACKAGE)-bin.mft | |
90 | @cd $(PACKAGE)-bin && \ | |
91 | echo $(MANIFESTVERBIN) >> manifest/$(PACKAGE)-bin.ver && \ | |
92 | echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-bin.ver | |
93 | @cd $(PACKAGE)-dev && find * >> manifest/$(PACKAGE)-dev.mft | |
94 | @cd $(PACKAGE)-dev && \ | |
95 | echo $(MANIFESTVERDEV) >> manifest/$(PACKAGE)-dev.ver && \ | |
96 | echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-dev.ver | |
97 | ||
98 | archive: | |
99 | @echo " * Creation of the archives" | |
100 | @tar cf $(PACKAGE)-bin.tar $(PACKAGE)-bin | |
101 | @bzip2 -9 $(PACKAGE)-bin.tar | |
102 | @tar cf $(PACKAGE)-dev.tar $(PACKAGE)-dev | |
103 | @bzip2 -9 $(PACKAGE)-dev.tar | |
104 | ||
105 | clean: | |
106 | @echo " * Cleaning" | |
107 | @rm -rf $(PACKAGE)* | |
108 | ||
109 | help: | |
110 | @echo | |
111 | @echo "To create the archives, type:" | |
112 | @echo " make" | |
113 | @echo | |
114 | @echo "To remove everything, type:" | |
115 | @echo " make clean" | |
116 | @echo |