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 = 5 |
---|
26 | VERMIC = 11 |
---|
27 | VER = $(VERMAJ).$(VERMIN).$(VERMIC) |
---|
28 | NAME = libpng |
---|
29 | PACKAGE = $(NAME)-$(VER) |
---|
30 | |
---|
31 | BIN = libpng15-0.dll |
---|
32 | LIB = libpng15.a libpng15.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 = libpng15.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_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 |
---|
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 |
---|