summaryrefslogtreecommitdiff
path: root/scripts/makefile.hpux
blob: 996cb95f445623f6b5c4ea2c85e438b66865f77c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# makefile for libpng, HPUX (10.20 and 11.00)
# Copyright (C) 1999-2002 Glenn Randers-Pehrson
# Copyright (C) 1995 Guy Eric Schalnat, Group 42
# contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
# For conditions of distribution and use, see copyright notice in png.h

# Where the zlib library and include files are located
ZLIBLIB=/opt/zlib/lib
ZLIBINC=/opt/zlib/include

CC=cc
CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
# Caution: be sure you have built zlib with the same CFLAGS.
CCFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm

RANLIB=ranlib

# read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
# have to change it.
PNGMAJ = 0
PNGMIN = 1.2.2
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12

# where make install puts libpng.a, libpng12.sl, and png.h
prefix=/opt/libpng
LIBPATH=$prefix/lib
INCPATH=$prefix/include

OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
	pngwtran.o pngmem.o pngerror.o pngpread.o

OBJSDLL = $(OBJS:.o=.pic.o)

.SUFFIXES:	.c .o .pic.o

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

all: libpng.a $(LIBNAME).sl pngtest

libpng.a: $(OBJS)
	ar rc $@  $(OBJS)
	$(RANLIB) $@

$(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl

$(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)

$(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
	$(LD) -b -L$(ZLIBLIB) +s +b $(ZLIBLIB) \
	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) \
	$(OBJSDLL) -lz

pngtest: pngtest.o libpng.a
	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)

test: pngtest
	./pngtest

install-headers: png.h pngconf.h
	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
	-@/bin/rm -f $(INCPATH)/libpng
	ln -sf $(INCPATH)/$(LIBNAME) $(INCPATH)/libpng

install-static: install-headers libpng.a
	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
	cp libpng.a $(LIBPATH)/$(LIBNAME).a
	chmod 644 $(LIBPATH)/$(LIBNAME).a
	-@/bin/rm -f $(LIBPATH)/libpng.a
	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a

install-shared: install-headers $(LIBNAME).sl.$(PNGVER)
	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).sl.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).sl
	-@/bin/rm -f $(LIBPATH)/libpng.sl
	-@/bin/rm -f $(LIBPATH)/libpng.sl.3
	-@/bin/rm -f $(LIBPATH)/libpng.sl.3.*
	cp $(LIBNAME).sl.$(PNGVER) $(LIBPATH)
	chmod 755 $(LIBPATH)/$(LIBNAME).sl.$(PNGVER)
	(cd $(LIBPATH); \
	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl; \
	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3; \
	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3.$(PNGMIN); \
	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
	-@if [ ! -d $(LIBPATH)/pkgconfig ]; then mkdir $(LIBPATH)/pkgconfig; fi
	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
	cp libpng.pc $(LIBPATH)/pkgconfig/libpng12.pc
	chmod 644 $(LIBPATH)/pkgconfig/libpng12.pc

install: install-static install-shared

clean:
	/bin/rm -f *.o libpng.a $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
	pngtest pngout.png

DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
writelock:
	chmod a-w *.[ch35] $(DOCS) scripts/*

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

png.o: png.h pngconf.h
pngerror.o: png.h pngconf.h
pngrio.o: png.h pngconf.h
pngwio.o: png.h pngconf.h
pngmem.o: png.h pngconf.h
pngset.o: png.h pngconf.h
pngget.o: png.h pngconf.h
pngread.o: png.h pngconf.h
pngrtran.o: png.h pngconf.h
pngrutil.o: png.h pngconf.h
pngtest.o: png.h pngconf.h
pngtrans.o: png.h pngconf.h
pngwrite.o: png.h pngconf.h
pngwtran.o: png.h pngconf.h
pngwutil.o: png.h pngconf.h
pngpread.o: png.h pngconf.h