Home | History | Annotate | Download | only in scripts
      1 # makefile for libpng
      2 # Copyright (C) 2002, 2006, 2009 Glenn Randers-Pehrson
      3 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
      4 #
      5 # This code is released under the libpng license.
      6 # For conditions of distribution and use, see the disclaimer
      7 # and license in png.h
      8 #
      9 # This makefile requires the file ansi2knr.c, which you can get
     10 # from the Ghostscript ftp site at ftp://ftp.cs.wisc.edu/ghost/
     11 # If you have libjpeg, you probably already have ansi2knr.c in the jpeg
     12 # source distribution.
     13 
     14 # where make install puts libpng.a and png.h
     15 prefix=/usr/local
     16 INCPATH=$(prefix)/include
     17 LIBPATH=$(prefix)/lib
     18 
     19 # override DESTDIR= on the make install command line to easily support
     20 # installing into a temporary location.  Example:
     21 #
     22 #    make install DESTDIR=/tmp/build/libpng
     23 #
     24 # If you're going to install into a temporary location
     25 # via DESTDIR, $(DESTDIR)$(prefix) must already exist before
     26 # you execute make install.
     27 DESTDIR=
     28 
     29 CC=cc
     30 CFLAGS=-I../zlib -O
     31 LDFLAGS=-L. -L../zlib/ -lpng -lz -lm
     32 # flags for ansi2knr
     33 ANSI2KNRFLAGS=
     34 
     35 RANLIB=ranlib
     36 #RANLIB=echo
     37 
     38 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
     39 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
     40 	pngwtran.o pngmem.o pngerror.o pngpread.o
     41 
     42 all: ansi2knr libpng.a pngtest
     43 
     44 # general rule to allow ansi2knr to work
     45 .c.o:
     46 	./ansi2knr $*.c T$*.c
     47 	$(CC) $(CFLAGS) -c T$*.c
     48 	rm -f T$*.c $*.o
     49 	mv T$*.o $*.o
     50 
     51 ansi2knr: ansi2knr.c
     52 	$(CC) $(CFLAGS) $(ANSI2KNRFLAGS) -o ansi2knr ansi2knr.c
     53 
     54 libpng.a: ansi2knr $(OBJS)
     55 	ar rc $@  $(OBJS)
     56 	$(RANLIB) $@
     57 
     58 pngtest: pngtest.o libpng.a
     59 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
     60 
     61 test: pngtest
     62 	./pngtest
     63 
     64 install: libpng.a png.h pngconf.h
     65 	-@mkdir $(DESTDIR)$(INCPATH)
     66 	-@mkdir $(DESTDIR)$(INCPATH)/libpng
     67 	-@mkdir $(DESTDIR)$(LIBPATH)
     68 	-@rm -f $(DESTDIR)$(INCPATH)/png.h
     69 	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
     70 	cp png.h $(DESTDIR)$(INCPATH)/libpng
     71 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
     72 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
     73 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
     74 	(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
     75 	cp libpng.a $(DESTDIR)$(LIBPATH)
     76 	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
     77 
     78 clean:
     79 	rm -f *.o libpng.a pngtest pngout.png ansi2knr
     80 
     81 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
     82 writelock:
     83 	chmod a-w *.[ch35] $(DOCS) scripts/*
     84 
     85 # DO NOT DELETE THIS LINE -- make depend depends on it.
     86 
     87 png.o: png.h pngconf.h
     88 pngerror.o: png.h pngconf.h
     89 pngrio.o: png.h pngconf.h
     90 pngwio.o: png.h pngconf.h
     91 pngmem.o: png.h pngconf.h
     92 pngset.o: png.h pngconf.h
     93 pngget.o: png.h pngconf.h
     94 pngread.o: png.h pngconf.h
     95 pngpread.o: png.h pngconf.h
     96 pngrtran.o: png.h pngconf.h
     97 pngrutil.o: png.h pngconf.h
     98 pngtrans.o: png.h pngconf.h
     99 pngwrite.o: png.h pngconf.h
    100 pngwtran.o: png.h pngconf.h
    101 pngwutil.o: png.h pngconf.h
    102 
    103 pngtest.o: png.h pngconf.h
    104