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