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