Home | History | Annotate | Download | only in scripts
      1 # makefile for libpng
      2 # Copyright (C) 2002, 2006, 2014 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 # where make install puts libpng.a and png.h
     10 prefix=/usr/local
     11 INCPATH=$(prefix)/include
     12 LIBPATH=$(prefix)/lib
     13 
     14 # override DESTDIR= on the make install command line to easily support
     15 # installing into a temporary location.  Example:
     16 #
     17 #    make install DESTDIR=/tmp/build/libpng
     18 #
     19 # If you're going to install into a temporary location
     20 # via DESTDIR, $(DESTDIR)$(prefix) must already exist before
     21 # you execute make install.
     22 DESTDIR=
     23 
     24 # Where the zlib library and include files are located
     25 #ZLIBLIB=/usr/local/lib
     26 #ZLIBINC=/usr/local/include
     27 ZLIBLIB=../zlib
     28 ZLIBINC=../zlib
     29 
     30 
     31 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow -Wconversion \
     32 	-Wmissing-declarations -Wtraditional -Wcast-align \
     33 	-Wstrict-prototypes -Wmissing-prototypes
     34 
     35 CC=gcc
     36 AR_RC=ar rc
     37 MKDIR_P=mkdir -p
     38 LN_SF=ln -f -s
     39 RANLIB=ranlib
     40 RM_F=/bin/rm -f
     41 
     42 CPPFLAGS=-I$(ZLIBINC) # -DPNG_DEBUG=5
     43 CFLAGS=-O # $(WARNMORE)
     44 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
     45 
     46 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
     47 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
     48 	pngwtran.o pngmem.o pngerror.o pngpread.o
     49 
     50 .c.o:
     51 	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
     52 
     53 all: libpng.a pngtest
     54 
     55 # see scripts/pnglibconf.mak for more options
     56 pnglibconf.h: scripts/pnglibconf.h.prebuilt
     57 	cp scripts/pnglibconf.h.prebuilt $@
     58 
     59 libpng.a: $(OBJS)
     60 	$(AR_RC) $@  $(OBJS)
     61 	$(RANLIB) $@
     62 
     63 pngtest: pngtest.o libpng.a
     64 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
     65 
     66 test: pngtest
     67 	./pngtest
     68 
     69 install: libpng.a
     70 	-@$(MKDIR_P) $(DESTDIR)$(INCPATH)
     71 	-@$(MKDIR_P) $(DESTDIR)$(INCPATH)/libpng
     72 	-@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
     73 	-@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
     74 	-@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
     75 	-@$(RM_F) $(DESTDIR)$(INCPATH)/pnglibconf.h
     76 	cp png.h $(DESTDIR)$(INCPATH)/libpng
     77 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
     78 	cp pnglibconf.h $(DESTDIR)$(INCPATH)/libpng
     79 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
     80 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
     81 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pnglibconf.h
     82 	(cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .)
     83 	cp libpng.a $(DESTDIR)$(LIBPATH)
     84 	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
     85 
     86 clean:
     87 	$(RM_F) *.o libpng.a pngtest pngout.png pnglibconf.h
     88 
     89 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
     90 writelock:
     91 	chmod a-w *.[ch35] $(DOCS) scripts/*
     92 
     93 # DO NOT DELETE THIS LINE -- make depend depends on it.
     94 
     95 png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     96 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     97 pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     98 pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     99 pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    100 pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    101 pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    102 pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    103 pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    104 pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    105 pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    106 pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    107 pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
    108 pngwutil.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 
    111 pngtest.o: png.h pngconf.h pnglibconf.h
    112