blob: 3ca7a0114843bcc6145005010f61fa3c59efff4f [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001# makefile for libpng
2# Copyright (C) 1998 Tim Wegner
Chris Craikb50c2172013-07-29 15:28:30 -07003# Copyright (C) 2006,2009,2011 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
12# -------- Microsoft Visual C++ 2.0 and later, no assembler code --------
The Android Open Source Project893912b2009-03-03 19:30:05 -080013
14# Compiler, linker, librarian, and other tools
15CC = cl
16LD = link
17AR = lib
Chris Craikb50c2172013-07-29 15:28:30 -070018CFLAGS = -nologo -D_CRT_SECURE_NO_DEPRECATE -MD -O2 -W3 -I..\zlib
The Android Open Source Project893912b2009-03-03 19:30:05 -080019LDFLAGS = -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
Chris Craikb50c2172013-07-29 15:28:30 -070038# 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
The Android Open Source Project893912b2009-03-03 19:30:05 -080043 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
44
Chris Craikb50c2172013-07-29 15:28:30 -070045pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080046 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
47
Chris Craikb50c2172013-07-29 15:28:30 -070048pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080049 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
50
Chris Craikb50c2172013-07-29 15:28:30 -070051pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080052 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
53
Chris Craikb50c2172013-07-29 15:28:30 -070054pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080055 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
56
Chris Craikb50c2172013-07-29 15:28:30 -070057pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080058 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
59
Chris Craikb50c2172013-07-29 15:28:30 -070060pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080061 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
62
Chris Craikb50c2172013-07-29 15:28:30 -070063pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080064 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
65
Chris Craikb50c2172013-07-29 15:28:30 -070066pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080067 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
68
Chris Craikb50c2172013-07-29 15:28:30 -070069pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080070 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
71
Chris Craikb50c2172013-07-29 15:28:30 -070072pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080073 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
74
Chris Craikb50c2172013-07-29 15:28:30 -070075pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080076 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
77
Chris Craikb50c2172013-07-29 15:28:30 -070078pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080079 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
80
Chris Craikb50c2172013-07-29 15:28:30 -070081pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080082 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
83
Chris Craikb50c2172013-07-29 15:28:30 -070084pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
The Android Open Source Project893912b2009-03-03 19:30:05 -080085 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
86
87libpng.lib: $(OBJS)
88 -$(RM) $@
89 $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(ERRFILE)
90
Chris Craikb50c2172013-07-29 15:28:30 -070091pngtest$(O): png.h pngconf.h pnglibconf.h
Patrick Scotta0bb96c2009-07-22 11:50:02 -040092 $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
93
The Android Open Source Project893912b2009-03-03 19:30:05 -080094pngtest.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
Chris Craikb50c2172013-07-29 15:28:30 -0700103 -$(RM) pnglibconf.h
The Android Open Source Project893912b2009-03-03 19:30:05 -0800104 -$(RM) pngtest.exe
105 -$(RM) pngout.png
106
107# End of makefile for libpng
108