|  | # Makefile for creating Windows CE release archives, with the | 
|  | # mingw32ce compiler. | 
|  |  | 
|  | # Last updated: 22-Jul-2008 | 
|  |  | 
|  | # Copyright (C) 2008 Vincent Torri | 
|  |  | 
|  | # This code is released under the libpng license. | 
|  | # For conditions of distribution and use, see the disclaimer | 
|  | # and license in png.h | 
|  |  | 
|  | # To get some help, type | 
|  | # | 
|  | # make help | 
|  | # | 
|  | # To create the archives | 
|  | # | 
|  | # make | 
|  | # | 
|  | # To remove everything, type: | 
|  | # | 
|  | # make clean | 
|  |  | 
|  | VERMAJ = 1 | 
|  | VERMIN = 6 | 
|  | VERMIC = 3 | 
|  | VER = $(VERMAJ).$(VERMIN).$(VERMIC) | 
|  | NAME = libpng | 
|  | PACKAGE = $(NAME)-$(VER) | 
|  |  | 
|  | BIN = libpng16-0.dll | 
|  | LIB = libpng16.a libpng16.dll.a libpng.a libpng.dll.a | 
|  | INCLUDE = png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h | 
|  | PC = libpng16.pc libpng.pc | 
|  |  | 
|  | MANIFESTVERBIN = "Libpng-$(VER): Binary files" | 
|  | MANIFESTVERDEV = "Libpng-$(VER): Developer files" | 
|  | MANIFESTVERDESC = "Libpng: the official PNG reference library" | 
|  |  | 
|  | all: $(NAME) | 
|  |  | 
|  | $(NAME): remove-old copy-src compilation copy manifest archive | 
|  | @echo " * Removal of the directories" | 
|  | @rm -rf $(PACKAGE)/ $(PACKAGE)-bin/ $(PACKAGE)-dev/ | 
|  |  | 
|  | remove-old: | 
|  | @echo " * Removal of the old files" | 
|  | @rm -rf $(PACKAGE)-bin* | 
|  | @rm -rf $(PACKAGE)-dev* | 
|  |  | 
|  | copy-src: | 
|  | @echo " * Copy of source files" | 
|  | @cp -R ../src/$(PACKAGE) . | 
|  | @echo " * Creation of directories and files" | 
|  | @mkdir -p $(PACKAGE)-bin/bin | 
|  | @mkdir -p $(PACKAGE)-bin/manifest | 
|  | @mkdir -p $(PACKAGE)-dev/lib/pkgconfig | 
|  | @mkdir -p $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN) | 
|  | @mkdir -p $(PACKAGE)-dev/manifest | 
|  | @touch $(PACKAGE)-bin/manifest/$(PACKAGE)-bin.mft | 
|  | @touch $(PACKAGE)-bin/manifest/$(PACKAGE)-bin.ver | 
|  | @touch $(PACKAGE)-dev/manifest/$(PACKAGE)-dev.mft | 
|  | @touch $(PACKAGE)-dev/manifest/$(PACKAGE)-dev.ver | 
|  |  | 
|  | compilation: | 
|  | @echo " * Compilation of $(PACKAGE)" | 
|  | cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_CONSOLE_IO_SUPPORTED -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 | 
|  |  | 
|  | copy: | 
|  | @echo " * Copy of binary and development files" | 
|  | @for i in $(BIN); do \ | 
|  | cp $(PACKAGE)/.libs/$$i $(PACKAGE)-bin/bin; \ | 
|  | done | 
|  | @for i in $(LIB); do \ | 
|  | cp $(PACKAGE)/.libs/$$i $(PACKAGE)-dev/lib; \ | 
|  | done | 
|  | @for i in $(INCLUDE); do \ | 
|  | cp $(PACKAGE)/$$i $(PACKAGE)-dev/include/$(NAME)$(VERMAJ)$(VERMIN); \ | 
|  | done | 
|  | @for i in $(PC); do \ | 
|  | cp $(PACKAGE)/$$i $(PACKAGE)-dev/lib/pkgconfig; \ | 
|  | done | 
|  |  | 
|  | manifest: | 
|  | @echo " * Creation of the manifest" | 
|  | @cd $(PACKAGE)-bin && find * >> manifest/$(PACKAGE)-bin.mft | 
|  | @cd $(PACKAGE)-bin && \ | 
|  | echo $(MANIFESTVERBIN) >> manifest/$(PACKAGE)-bin.ver && \ | 
|  | echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-bin.ver | 
|  | @cd $(PACKAGE)-dev && find * >> manifest/$(PACKAGE)-dev.mft | 
|  | @cd $(PACKAGE)-dev && \ | 
|  | echo $(MANIFESTVERDEV) >> manifest/$(PACKAGE)-dev.ver && \ | 
|  | echo $(MANIFESTVERDESC) >> manifest/$(PACKAGE)-dev.ver | 
|  |  | 
|  | archive: | 
|  | @echo " * Creation of the archives" | 
|  | @tar cf $(PACKAGE)-bin.tar $(PACKAGE)-bin | 
|  | @bzip2 -9 $(PACKAGE)-bin.tar | 
|  | @tar cf $(PACKAGE)-dev.tar $(PACKAGE)-dev | 
|  | @bzip2 -9 $(PACKAGE)-dev.tar | 
|  |  | 
|  | clean: | 
|  | @echo " * Cleaning" | 
|  | @rm -rf $(PACKAGE)* | 
|  |  | 
|  | help: | 
|  | @echo | 
|  | @echo "To create the archives, type:" | 
|  | @echo " make" | 
|  | @echo | 
|  | @echo "To remove everything, type:" | 
|  | @echo " make clean" | 
|  | @echo |