makefile.solaris 3.3 KB
Newer Older
1
# makefile for libpng on Solaris 2.x with gcc
2
# Contributed by William L. Sebok, based on makefile.linux
A
Andreas Dilger 已提交
3
# Copyright (C) 1996, 1997 Andreas Dilger
4
# Copyright (C) 1998 Greg Roelofs
G
Guy Schalnat 已提交
5 6
# For conditions of distribution and use, see copyright notice in png.h

G
Guy Schalnat 已提交
7
CC=gcc
A
Andreas Dilger 已提交
8

9
# The commands "CC" and "LD" must NOT refer to /usr/ucb/cc and /usr/ucb/ld.
10 11 12 13
# If they do, you need to adjust your PATH environment variable to put
# /usr/ccs/bin ahead of /usr/ucb.  The environment variable LD_LIBRARY_PATH
# should not be set at all.  If it is, things are likely to break because
# of the libucb dependency that is created.
14 15

# Where make install puts libpng.a, libpng.so*, and png.h
16 17
prefix=/usr/local

A
Andreas Dilger 已提交
18
# Where the zlib library and include files are located
19 20 21 22 23 24 25
# Changing these to ../zlib poses a security risk.  If you want
# to have zlib in an adjacent directory, specify the full path instead of "..".
#ZLIBLIB=../zlib
#ZLIBINC=../zlib

ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
26

A
Andreas Dilger 已提交
27
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
28 29
	-Wmissing-declarations -Wtraditional -Wcast-align \
	-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
30
CFLAGS=-I$(ZLIBINC) -Wall -O3 \
31
	# $(WARNMORE) -g -DPNG_DEBUG=5
32
LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng -lz -lm
G
Guy Schalnat 已提交
33

34 35
#RANLIB=ranlib
RANLIB=echo
G
Guy Schalnat 已提交
36

37 38
# read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
# have to change it.
39
PNGMAJ = 2
40
PNGMIN = 1.0.5d
A
Andreas Dilger 已提交
41
PNGVER = $(PNGMAJ).$(PNGMIN)
G
Guy Schalnat 已提交
42

A
Andreas Dilger 已提交
43 44
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib
G
Guy Schalnat 已提交
45

A
Andreas Dilger 已提交
46
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
47 48
	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
	pngwtran.o pngmem.o pngerror.o pngpread.o
G
Guy Schalnat 已提交
49

50 51 52 53 54 55 56 57
OBJSDLL = $(OBJS:.o=.pic.o)

.SUFFIXES:      .c .o .pic.o

.c.pic.o:
	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c

all: libpng.a libpng.so pngtest
G
Guy Schalnat 已提交
58 59

libpng.a: $(OBJS)
60
	ar rc $@ $(OBJS)
G
Guy Schalnat 已提交
61 62
	$(RANLIB) $@

A
Andreas Dilger 已提交
63
libpng.so: libpng.so.$(PNGMAJ)
64
	ln -f -s libpng.so.$(PNGMAJ) libpng.so
G
Guy Schalnat 已提交
65

A
Andreas Dilger 已提交
66
libpng.so.$(PNGMAJ): libpng.so.$(PNGVER)
67
	ln -f -s libpng.so.$(PNGVER) libpng.so.$(PNGMAJ)
G
Guy Schalnat 已提交
68

69
libpng.so.$(PNGVER): $(OBJSDLL)
70
	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.$(PNGMAJ) \
71
	 -o libpng.so.$(PNGVER) $(OBJSDLL) -lz
G
Guy Schalnat 已提交
72 73

pngtest: pngtest.o libpng.so
74
	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
G
Guy Schalnat 已提交
75 76 77

test: pngtest
	./pngtest
G
Guy Schalnat 已提交
78

79
install: libpng.a libpng.so.$(PNGVER)
A
Andreas Dilger 已提交
80 81 82
	-@mkdir $(INCPATH) $(LIBPATH)
	cp png.h pngconf.h $(INCPATH)
	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
83
	cp libpng.a libpng.so.$(PNGVER) $(LIBPATH)
A
Andreas Dilger 已提交
84
	chmod 755 $(LIBPATH)/libpng.so.$(PNGVER)
85
	-@/bin/rm -f $(LIBPATH)/libpng.so.$(PNGMAJ) $(LIBPATH)/libpng.so
86 87
	(cd $(LIBPATH); ln -f -s libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \
	 ln -f -s libpng.so.$(PNGMAJ) libpng.so)
G
Guy Schalnat 已提交
88 89

clean:
90
	/bin/rm -f *.o libpng.a libpng.so* pngtest pngout.png
G
Guy Schalnat 已提交
91 92 93

# DO NOT DELETE THIS LINE -- make depend depends on it.

94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
png.o png.pic.o: png.h pngconf.h
pngerror.o pngerror.pic.o: png.h pngconf.h
pngrio.o pngrio.pic.o: png.h pngconf.h
pngwio.o pngwio.pic.o: png.h pngconf.h
pngmem.o pngmem.pic.o: png.h pngconf.h
pngset.o pngset.pic.o: png.h pngconf.h
pngget.o pngget.pic.o: png.h pngconf.h
pngread.o pngread.pic.o: png.h pngconf.h
pngrtran.o pngrtran.pic.o: png.h pngconf.h
pngrutil.o pngrutil.pic.o: png.h pngconf.h
pngtrans.o pngtrans.pic.o: png.h pngconf.h
pngwrite.o pngwrite.pic.o: png.h pngconf.h
pngwtran.o pngwtran.pic.o: png.h pngconf.h
pngwutil.o pngwutil.pic.o: png.h pngconf.h
pngpread.o pngpread.pic.o: png.h pngconf.h

G
Guy Schalnat 已提交
110
pngtest.o: png.h pngconf.h