You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
3.2 KiB
116 lines
3.2 KiB
# 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 = 37 |
|
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
|
|
|