]>
Commit | Line | Data |
---|---|---|
0272a10d | 1 | # makefile for libpng using gcc (generic, static library) |
b61cc19c | 2 | # Copyright (C) 2002, 2006-2009 Glenn Randers-Pehrson |
0272a10d VZ |
3 | # Copyright (C) 2000 Cosmin Truta |
4 | # Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc) | |
5 | # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. | |
b61cc19c PC |
6 | # |
7 | # This code is released under the libpng license. | |
8 | # For conditions of distribution and use, see the disclaimer | |
9 | # and license in png.h | |
0272a10d VZ |
10 | |
11 | # Location of the zlib library and include files | |
12 | ZLIBINC = ../zlib | |
13 | ZLIBLIB = ../zlib | |
14 | ||
15 | # Compiler, linker, lib and other tools | |
16 | CC = gcc | |
17 | LD = $(CC) | |
18 | AR_RC = ar rcs | |
19 | MKDIR_P = mkdir -p | |
20 | RANLIB = ranlib | |
21 | RM_F = rm -f | |
22 | LN_SF = ln -f -s | |
23 | ||
b61cc19c PC |
24 | LIBNAME=libpng14 |
25 | PNGMAJ = 14 | |
0272a10d VZ |
26 | |
27 | prefix=/usr/local | |
28 | INCPATH=$(prefix)/include | |
29 | LIBPATH=$(prefix)/lib | |
30 | ||
31 | # override DESTDIR= on the make install command line to easily support | |
32 | # installing into a temporary location. Example: | |
33 | # | |
34 | # make install DESTDIR=/tmp/build/libpng | |
35 | # | |
36 | # If you're going to install into a temporary location | |
37 | # via DESTDIR, $(DESTDIR)$(prefix) must already exist before | |
38 | # you execute make install. | |
39 | DESTDIR= | |
40 | ||
41 | DI=$(DESTDIR)$(INCPATH) | |
42 | DL=$(DESTDIR)$(LIBPATH) | |
43 | ||
44 | CDEBUG = -g -DPNG_DEBUG=5 | |
45 | LDDEBUG = | |
46 | CRELEASE = -O2 | |
47 | LDRELEASE = -s | |
970f6abe | 48 | WARNMORE=-W -Wall |
b61cc19c PC |
49 | CFLAGS = -D_ALL_SOURCE -I$(ZLIBINC) $(WARNMORE) $(CRELEASE) |
50 | LDFLAGS = -L. -L$(ZLIBLIB) -lpng14 -lz -lm $(LDRELEASE) | |
0272a10d VZ |
51 | |
52 | # File extensions | |
53 | O=.o | |
54 | A=.a | |
55 | E= | |
56 | ||
57 | # Variables | |
b61cc19c | 58 | OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \ |
0272a10d VZ |
59 | pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \ |
60 | pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) | |
61 | ||
62 | # Targets | |
63 | all: $(LIBNAME)$(A) pngtest$(E) | |
64 | ||
65 | $(LIBNAME)$(A): $(OBJS) | |
66 | $(AR_RC) $@ $(OBJS) | |
67 | $(RANLIB) $@ | |
68 | ||
69 | test: pngtest$(E) | |
70 | ./pngtest$(E) | |
71 | ||
72 | pngtest$(E): pngtest$(O) $(LIBNAME)$(A) | |
73 | $(LD) -o $@ pngtest$(O) $(LDFLAGS) | |
74 | ||
75 | install: $(LIBNAME)$(A) | |
76 | -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi | |
77 | -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi | |
78 | -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi | |
79 | -@$(RM_F) $(DI)/$(LIBNAME)/png.h | |
80 | -@$(RM_F) $(DI)/$(LIBNAME)/pngconf.h | |
81 | -@$(RM_F) $(DI)/png.h | |
82 | -@$(RM_F) $(DI)/pngconf.h | |
83 | cp png.h pngconf.h $(DI)/$(LIBNAME) | |
84 | chmod 644 $(DI)/$(LIBNAME)/png.h \ | |
85 | $(DI)/$(LIBNAME)/pngconf.h | |
86 | -@$(RM_F) -r $(DI)/libpng | |
87 | (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .) | |
88 | -@$(RM_F) $(DL)/$(LIBNAME)$(A) | |
89 | -@$(RM_F) $(DL)/libpng$(A) | |
90 | cp $(LIBNAME)$(A) $(DL)/$(LIBNAME)$(A) | |
91 | chmod 644 $(DL)/$(LIBNAME)$(A) | |
92 | (cd $(DL); $(LN_SF) $(LIBNAME)$(A) libpng$(A)) | |
93 | (cd $(DI); $(LN_SF) libpng/* .;) | |
94 | ||
95 | clean: | |
96 | $(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png | |
97 | ||
b61cc19c PC |
98 | png$(O): png.h pngconf.h pngpriv.h |
99 | pngerror$(O): png.h pngconf.h pngpriv.h | |
100 | pngget$(O): png.h pngconf.h pngpriv.h | |
101 | pngmem$(O): png.h pngconf.h pngpriv.h | |
102 | pngpread$(O): png.h pngconf.h pngpriv.h | |
103 | pngread$(O): png.h pngconf.h pngpriv.h | |
104 | pngrio$(O): png.h pngconf.h pngpriv.h | |
105 | pngrtran$(O): png.h pngconf.h pngpriv.h | |
106 | pngrutil$(O): png.h pngconf.h pngpriv.h | |
107 | pngset$(O): png.h pngconf.h pngpriv.h | |
108 | pngtrans$(O): png.h pngconf.h pngpriv.h | |
109 | pngwio$(O): png.h pngconf.h pngpriv.h | |
110 | pngwrite$(O): png.h pngconf.h pngpriv.h | |
111 | pngwtran$(O): png.h pngconf.h pngpriv.h | |
112 | pngwutil$(O): png.h pngconf.h pngpriv.h | |
113 | ||
114 | pngtest$(O): png.h pngconf.h |