blob: 2bd143cc0aeb91e9b1bc78a09547fb657a3338fd [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001# makefile for libpng
2# Copyright (C) 1998 Tim Wegner
Sireesh Tripurarib478e662014-05-09 15:15:10 +05303# Copyright (C) 2006,2009,2011,2014 Glenn Randers-Pehrson
Patrick Scott5f6bd842010-06-28 16:55:16 -04004#
Patrick Scotta0bb96c2009-07-22 11:50:02 -04005# This code is released under the libpng license.
6# For conditions of distribution and use, see the disclaimer
7# and license in png.h
Patrick Scott5f6bd842010-06-28 16:55:16 -04008#
The Android Open Source Project893912b2009-03-03 19:30:05 -08009# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
10# To use, do "nmake /f scripts\makefile.vcwin32"
11
Matt Sarett9ea75692016-01-08 13:00:42 -050012# -------- Microsoft Visual C++ 2.0 and later --------
The Android Open Source Project893912b2009-03-03 19:30:05 -080013
Matt Sarett9ea75692016-01-08 13:00:42 -050014# Compiler, linker, librarian and other tools
The Android Open Source Project893912b2009-03-03 19:30:05 -080015CC = cl
16LD = link
17AR = lib
Sireesh Tripurarib478e662014-05-09 15:15:10 +053018CPPFLAGS = -I..\zlib
Matt Sarett9ea75692016-01-08 13:00:42 -050019CFLAGS = -nologo -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -MD -O2 -W3
The Android Open Source Project893912b2009-03-03 19:30:05 -080020LDFLAGS = -nologo
21ARFLAGS = -nologo
Matt Sarett9ea75692016-01-08 13:00:42 -050022CP = copy
The Android Open Source Project893912b2009-03-03 19:30:05 -080023RM = del
24
Matt Sarett9ea75692016-01-08 13:00:42 -050025# Pre-built configuration
26# See scripts\pnglibconf.mak for more options
27PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
28
The Android Open Source Project893912b2009-03-03 19:30:05 -080029# 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
Matt Sarett9ea75692016-01-08 13:00:42 -050044pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
45 $(CP) $(PNGLIBCONF_H_PREBUILT) $@
Chris Craikb50c2172013-07-29 15:28:30 -070046
Sireesh Tripurarib478e662014-05-09 15:15:10 +053047png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
48 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080049
Sireesh Tripurarib478e662014-05-09 15:15:10 +053050pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
51 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080052
Sireesh Tripurarib478e662014-05-09 15:15:10 +053053pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
54 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080055
Sireesh Tripurarib478e662014-05-09 15:15:10 +053056pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
57 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080058
Sireesh Tripurarib478e662014-05-09 15:15:10 +053059pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
60 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080061
Sireesh Tripurarib478e662014-05-09 15:15:10 +053062pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
63 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080064
Sireesh Tripurarib478e662014-05-09 15:15:10 +053065pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
66 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080067
Sireesh Tripurarib478e662014-05-09 15:15:10 +053068pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
69 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080070
Sireesh Tripurarib478e662014-05-09 15:15:10 +053071pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
72 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080073
Sireesh Tripurarib478e662014-05-09 15:15:10 +053074pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
75 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080076
Sireesh Tripurarib478e662014-05-09 15:15:10 +053077pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
78 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080079
Sireesh Tripurarib478e662014-05-09 15:15:10 +053080pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
81 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080082
Sireesh Tripurarib478e662014-05-09 15:15:10 +053083pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
84 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080085
Sireesh Tripurarib478e662014-05-09 15:15:10 +053086pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
87 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080088
Sireesh Tripurarib478e662014-05-09 15:15:10 +053089pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
90 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
The Android Open Source Project893912b2009-03-03 19:30:05 -080091
92libpng.lib: $(OBJS)
93 -$(RM) $@
94 $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(ERRFILE)
95
Chris Craikb50c2172013-07-29 15:28:30 -070096pngtest$(O): png.h pngconf.h pnglibconf.h
Sireesh Tripurarib478e662014-05-09 15:15:10 +053097 $(CC) -c $(CPPFLAGS) $(CFLAGS) $*.c $(ERRFILE)
Patrick Scotta0bb96c2009-07-22 11:50:02 -040098
The Android Open Source Project893912b2009-03-03 19:30:05 -080099pngtest.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
Chris Craikb50c2172013-07-29 15:28:30 -0700108 -$(RM) pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800109 -$(RM) pngtest.exe
110 -$(RM) pngout.png
111
112# End of makefile for libpng
113