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