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 | ||
9c0d9ce3 DS |
24 | LIBNAME=libpng15 |
25 | PNGMAJ = 15 | |
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 |
9c0d9ce3 DS |
49 | CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE) |
50 | LDFLAGS = -L. -L$(ZLIBLIB) -lpng15 -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 | ||
9c0d9ce3 DS |
65 | include scripts/pnglibconf.mak |
66 | REMOVE = $(RM_F) | |
67 | DFNFLAGS = $(DEFS) $(CPPFLAGS) | |
68 | ||
0272a10d VZ |
69 | $(LIBNAME)$(A): $(OBJS) |
70 | $(AR_RC) $@ $(OBJS) | |
71 | $(RANLIB) $@ | |
72 | ||
73 | test: pngtest$(E) | |
74 | ./pngtest$(E) | |
75 | ||
76 | pngtest$(E): pngtest$(O) $(LIBNAME)$(A) | |
77 | $(LD) -o $@ pngtest$(O) $(LDFLAGS) | |
78 | ||
79 | install: $(LIBNAME)$(A) | |
80 | -@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi | |
81 | -@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi | |
82 | -@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi | |
83 | -@$(RM_F) $(DI)/$(LIBNAME)/png.h | |
84 | -@$(RM_F) $(DI)/$(LIBNAME)/pngconf.h | |
9c0d9ce3 | 85 | -@$(RM_F) $(DI)/$(LIBNAME)/pnglibconf.h |
0272a10d VZ |
86 | -@$(RM_F) $(DI)/png.h |
87 | -@$(RM_F) $(DI)/pngconf.h | |
9c0d9ce3 DS |
88 | -@$(RM_F) $(DI)/pnglibconf.h |
89 | cp png.h pngconf.h pnglibconf.h $(DI)/$(LIBNAME) | |
0272a10d | 90 | chmod 644 $(DI)/$(LIBNAME)/png.h \ |
9c0d9ce3 DS |
91 | $(DI)/$(LIBNAME)/pngconf.h \ |
92 | $(DI)/$(LIBNAME)/pnglibconf.h | |
0272a10d VZ |
93 | -@$(RM_F) -r $(DI)/libpng |
94 | (cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .) | |
95 | -@$(RM_F) $(DL)/$(LIBNAME)$(A) | |
96 | -@$(RM_F) $(DL)/libpng$(A) | |
97 | cp $(LIBNAME)$(A) $(DL)/$(LIBNAME)$(A) | |
98 | chmod 644 $(DL)/$(LIBNAME)$(A) | |
99 | (cd $(DL); $(LN_SF) $(LIBNAME)$(A) libpng$(A)) | |
100 | (cd $(DI); $(LN_SF) libpng/* .;) | |
101 | ||
102 | clean: | |
9c0d9ce3 DS |
103 | $(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png pnglibconf.h |
104 | ||
105 | png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
106 | pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
107 | pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
108 | pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
109 | pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
110 | pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
111 | pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
112 | pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
113 | pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
114 | pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
115 | pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
116 | pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
117 | pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
118 | pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
119 | pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h | |
120 | ||
121 | pngtest$(O): png.h pngconf.h pnglibconf.h |