1# makefile for libpng
2# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
3# Copyright (C) 2006, 2009, 2014 Glenn Randers-Pehrson
4#
5# This code is released under the libpng license.
6# For conditions of distribution and use, see the disclaimer
7# and license in png.h
8#
9# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
10
11# -------- Microsoft C 5.1 and later, does not use assembler code --------
12MODEL=L
13CPPFLAGS=-I..\zlib
14CFLAGS=-Oait -Gs -nologo -W3 -A$(MODEL)
15#-Ox generates bad code with MSC 5.1
16CC=cl
17LD=link
18LDFLAGS=/e/st:0x1500/noe
19CP=copy
20O=.obj
21
22# Pre-built configuration
23# See scripts\pnglibconf.mak for more options
24PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
25
26#uncomment next to put error messages in a file
27ERRFILE= >> pngerrs
28
29# variables
30OBJS1 = png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
31OBJS2 = pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
32OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
33
34all: libpng.lib
35
36pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
37	$(CP) $(PNGLIBCONF_H_PREBUILT) $@
38
39png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
40	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
41
42pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
43	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
44
45pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
46	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
47
48pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
49	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
50
51pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
52	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
53
54pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
55	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
56
57pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
58	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
59
60pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
61	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
62
63pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
64	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
65
66pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
67	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
68
69pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
70	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
71
72pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
73	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
74
75pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
76	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
77
78pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
79	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
80
81pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
82	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
83
84libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
85	del libpng.lib
86	lib libpng $(OBJS1);
87	lib libpng $(OBJS2);
88	lib libpng $(OBJS3);
89
90pngtest$(O): png.h pngconf.h pnglibconf.h
91	$(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
92
93pngtest.exe: pngtest.obj libpng.lib
94	$(LD) $(LDFLAGS) pngtest.obj,,,libpng.lib ..\zlib\zlib.lib ;
95
96test: pngtest.exe
97	pngtest
98
99# End of makefile for libpng
100
101