Home | History | Annotate | Download | only in scripts
      1 # makefile for libpng using gcc (generic, static library)
      2 # Copyright (C) 2008, 2014 Glenn Randers-Pehrson
      3 # Copyright (C) 2000 Cosmin Truta
      4 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
      5 #
      6 # This code is released under the libpng license.
      7 # For conditions of distribution and use, see the disclaimer
      8 # and license in png.h
      9 
     10 # Location of the zlib library and include files
     11 ZLIBINC = ../zlib
     12 ZLIBLIB = ../zlib
     13 
     14 # Compiler, linker, lib and other tools
     15 CC = gcc
     16 LD = $(CC)
     17 AR_RC = ar rcs
     18 RANLIB = ranlib
     19 RM_F = rm -f
     20 
     21 WARNMORE = -Wwrite-strings -Wpointer-arith -Wshadow \
     22 	-Wmissing-declarations -Wtraditional -Wcast-align \
     23 	-Wstrict-prototypes -Wmissing-prototypes # -Wconversion
     24 CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5
     25 CFLAGS = -W -Wall -O2 # $(WARNMORE) -g
     26 LDFLAGS =
     27 LIBS = -lz -lm
     28 
     29 # File extensions
     30 EXEEXT =
     31 
     32 # Variables
     33 OBJS =  png.o pngerror.o pngget.o pngmem.o pngpread.o \
     34 	pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \
     35 	pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o
     36 
     37 # Targets
     38 all: static
     39 
     40 # see scripts/pnglibconf.mak for more options
     41 pnglibconf.h: scripts/pnglibconf.h.prebuilt
     42 	cp scripts/pnglibconf.h.prebuilt $@
     43 
     44 .c.o:
     45 	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
     46 
     47 static: libpng.a pngtest$(EXEEXT)
     48 
     49 shared:
     50 	@echo This is a generic makefile that cannot create shared libraries.
     51 	@echo Please use a configuration that is specific to your platform.
     52 	@false
     53 
     54 libpng.a: $(OBJS)
     55 	$(AR_RC) $@ $(OBJS)
     56 	$(RANLIB) $@
     57 
     58 test: pngtest$(EXEEXT)
     59 	./pngtest$(EXEEXT)
     60 
     61 pngtest$(EXEEXT): pngtest.o libpng.a
     62 	$(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest.o libpng.a $(LIBS)
     63 
     64 clean:
     65 	$(RM_F) *.o libpng.a pngtest$(EXEEXT) pngout.png pnglibconf.h
     66 
     67 png.o:      png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     68 pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     69 pngget.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     70 pngmem.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     71 pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     72 pngread.o:  png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     73 pngrio.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     74 pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     75 pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     76 pngset.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     77 pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     78 pngwio.o:   png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     79 pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     80 pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     81 pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
     82 
     83 pngtest.o:  png.h pngconf.h pnglibconf.h
     84