1# Makefile for libpng (static)
2# IBM C version 3.x for Win32 and OS/2
3# Copyright (C) 2006, 2014 Glenn Randers-Pehrson
4# Copyright (C) 2000 Cosmin Truta
5#
6# This code is released under the libpng license.
7# For conditions of distribution and use, see the disclaimer
8# and license in png.h
9#
10# Notes:
11#   Derived from makefile.std
12#   All modules are compiled in C mode
13#   Tested under Win32, expected to work under OS/2
14#   Can be easily adapted for IBM VisualAge/C++ for AIX
15
16# Location of the zlib library and include files
17ZLIBINC = ../zlib
18ZLIBLIB = ../zlib
19
20# Compiler, linker, lib and other tools
21CC = icc
22LD = ilink
23AR = ilib
24RM = del
25
26CPPFLAGS = -I$(ZLIBINC)
27CFLAGS = -Mc -O2 -W3
28LDFLAGS =
29
30# File extensions
31O=.obj
32A=.lib
33E=.exe
34
35# Variables
36OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
37	pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
38	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
39
40LIBS = libpng$(A) $(ZLIBLIB)/zlib$(A)
41
42# Targets
43.c$(O):
44	$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
45
46all: libpng$(A) pngtest$(E)
47
48# see scripts/pnglibconf.mak for more options
49pnglibconf.h: scripts/pnglibconf.h.prebuilt
50	cp scripts/pnglibconf.h.prebuilt $@
51
52libpng$(A): $(OBJS)
53	$(AR) -out:$@ $(OBJS)
54
55test: pngtest$(E)
56	pngtest$(E)
57
58pngtest: pngtest$(E)
59
60pngtest$(E): pngtest$(O) libpng$(A)
61	$(LD) $(LDFLAGS) pngtest$(O) $(LIBS)
62
63clean:
64	$(RM) *$(O)
65	$(RM) libpng$(A)
66	$(RM) pnglibconf.h
67	$(RM) pngtest$(E)
68	$(RM) pngout.png
69
70png$(O):      png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
71pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
72pngget$(O):   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
73pngmem$(O):   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
75pngread$(O):  png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
76pngrio$(O):   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
77pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
78pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
79pngset$(O):   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
81pngwio$(O):   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
82pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
83pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
84pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
85
86pngtest$(O):  png.h pngconf.h pnglibconf.h
87