src: move pseudo-toplevel methods from Object
[nit.git] / share / png / scripts / makefile.gcc
1 # makefile for libpng using gcc (generic, static library)
2 # Copyright (C) 2008, 2014 Glenn Randers-Pehrson
3 # Copyright (C) 2000 Cosmin Truta
4 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
5 #
6 # This code is released under the libpng license.
7 # For conditions of distribution and use, see the disclaimer
8 # and license in png.h
9
10 # Location of the zlib library and include files
11 ZLIBINC = ../zlib
12 ZLIBLIB = ../zlib
13
14 # Compiler, linker, lib and other tools
15 CC = gcc
16 LD = $(CC)
17 AR_RC = ar rcs
18 RANLIB = ranlib
19 RM_F = rm -f
20
21 WARNMORE = -Wwrite-strings -Wpointer-arith -Wshadow \
22         -Wmissing-declarations -Wtraditional -Wcast-align \
23         -Wstrict-prototypes -Wmissing-prototypes # -Wconversion
24 CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5
25 CFLAGS = -W -Wall -O2 # $(WARNMORE) -g
26 LDFLAGS =
27 LIBS = -lz -lm
28
29 # File extensions
30 EXEEXT =
31
32 # Variables
33 OBJS =  png.o pngerror.o pngget.o pngmem.o pngpread.o \
34         pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \
35         pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o
36
37 # Targets
38 all: static
39
40 # see scripts/pnglibconf.mak for more options
41 pnglibconf.h: scripts/pnglibconf.h.prebuilt
42         cp scripts/pnglibconf.h.prebuilt $@
43
44 .c.o:
45         $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
46
47 static: libpng.a pngtest$(EXEEXT)
48
49 shared:
50         @echo This is a generic makefile that cannot create shared libraries.
51         @echo Please use a configuration that is specific to your platform.
52         @false
53
54 libpng.a: $(OBJS)
55         $(AR_RC) $@ $(OBJS)
56         $(RANLIB) $@
57
58 test: pngtest$(EXEEXT)
59         ./pngtest$(EXEEXT)
60
61 pngtest$(EXEEXT): pngtest.o libpng.a
62         $(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest.o libpng.a $(LIBS)
63
64 clean:
65         $(RM_F) *.o libpng.a pngtest$(EXEEXT) pngout.png pnglibconf.h
66
67 png.o:      png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
68 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
69 pngget.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
70 pngmem.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
71 pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
72 pngread.o:  png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
73 pngrio.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
74 pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
75 pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
76 pngset.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
77 pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
78 pngwio.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
79 pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
80 pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
81 pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
82
83 pngtest.o:  png.h pngconf.h pnglibconf.h