1# makefile for libpng
2# Copyright (C) 1998 Tim Wegner
3# Copyright (C) 2006,2009,2011 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# To use, do "nmake /f scripts\makefile.vcwin32"
11
12# -------- Microsoft Visual C++ 2.0 and later, no assembler code --------
13
14# Compiler, linker, librarian, and other tools
15CC = cl
16LD = link
17AR = lib
18CFLAGS  = -nologo -D_CRT_SECURE_NO_DEPRECATE -MD -O2 -W3 -I..\zlib
19LDFLAGS = -nologo
20ARFLAGS = -nologo
21RM = del
22
23# File extensions
24O=.obj
25
26#uncomment next to put error messages in a file
27#ERRFILE= >> pngerrs.log
28
29# Variables
30OBJS1 = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O)
31OBJS2 = pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O)
32OBJS3 = pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
33OBJS  = $(OBJS1) $(OBJS2) $(OBJS3)
34
35# Targets
36all: libpng.lib
37
38# see scripts/pnglibconf.mak for more options
39pnglibconf.h: scripts\pnglibconf.h.prebuilt
40       copy scripts\pnglibconf.h.prebuilt $@
41
42png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
43	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
44
45pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
46	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
47
48pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
49	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
50
51pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
52	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
53
54pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
55	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
56
57pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
58	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
59
60pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
61	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
62
63pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
64	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
65
66pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
67	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
68
69pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
70	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
71
72pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
73	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
74
75pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
76	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
77
78pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
79	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
80
81pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
82	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
83
84pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h             pnginfo.h pngdebug.h
85	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
86
87libpng.lib: $(OBJS)
88	-$(RM) $@
89	$(AR) $(ARFLAGS) -out:$@ $(OBJS) $(ERRFILE)
90
91pngtest$(O): png.h pngconf.h pnglibconf.h
92	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
93
94pngtest.exe: pngtest$(O) libpng.lib
95	$(LD) $(LDFLAGS) -out:$@ pngtest$(O) libpng.lib ..\zlib\zlib.lib $(ERRFILE)
96
97test: pngtest.exe
98	pngtest
99
100clean:
101	-$(RM) *$(O)
102	-$(RM) libpng.lib
103	-$(RM) pnglibconf.h
104	-$(RM) pngtest.exe
105	-$(RM) pngout.png
106
107# End of makefile for libpng
108
109