58c4f6b355
to prevent warnings about direct access to png structs by libpng functions while building libpng. They need to be tested, especially those using compilers other than gcc.
114 lines
3.2 KiB
Plaintext
114 lines
3.2 KiB
Plaintext
# 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 = 4
|
|
VERMIC = 0
|
|
VER = $(VERMAJ).$(VERMIN).$(VERMIC)
|
|
NAME = libpng
|
|
PACKAGE = $(NAME)-$(VER)
|
|
|
|
BIN = libpng14-0.dll libpng-14.dll
|
|
LIB = libpng14.a libpng14.dll.a libpng.a libpng.dll.a scripts/png32ce.def
|
|
INCLUDE = png.h pngconf.h pngpriv.h
|
|
PC = libpng14.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_BUILD_DLL -DPNG_CONSOLE_IO_SUPPORTED -DPNG_NO_MMX_CODE -D_WIN32_WCE=0x0420" CFLAGS="$(CFLAGS) -DPNG_CONFIGURE_LIBPNG -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
|