makefile.gcc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. # Location of the zlib library and include files
  10. ZLIBINC = ../zlib
  11. ZLIBLIB = ../zlib
  12. # Compiler, linker, lib and other tools
  13. CC = gcc
  14. LD = $(CC)
  15. AR_RC = ar rcs
  16. RANLIB = ranlib
  17. RM_F = rm -f
  18. WARNMORE = -Wwrite-strings -Wpointer-arith -Wshadow \
  19. -Wmissing-declarations -Wtraditional -Wcast-align \
  20. -Wstrict-prototypes -Wmissing-prototypes # -Wconversion
  21. CPPFLAGS = -I$(ZLIBINC) # -DPNG_DEBUG=5
  22. CFLAGS = -W -Wall -O2 # $(WARNMORE) -g
  23. LDFLAGS =
  24. LIBS = -lz -lm
  25. # File extensions
  26. EXEEXT =
  27. # Variables
  28. OBJS = png.o pngerror.o pngget.o pngmem.o pngpread.o \
  29. pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o \
  30. pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o
  31. # Targets
  32. all: static
  33. # see scripts/pnglibconf.mak for more options
  34. pnglibconf.h: scripts/pnglibconf.h.prebuilt
  35. cp scripts/pnglibconf.h.prebuilt $@
  36. .c.o:
  37. $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
  38. static: libpng.a pngtest$(EXEEXT)
  39. shared:
  40. @echo This is a generic makefile that cannot create shared libraries.
  41. @echo Please use a configuration that is specific to your platform.
  42. @false
  43. libpng.a: $(OBJS)
  44. $(AR_RC) $@ $(OBJS)
  45. $(RANLIB) $@
  46. test: pngtest$(EXEEXT)
  47. ./pngtest$(EXEEXT)
  48. pngtest$(EXEEXT): pngtest.o libpng.a
  49. $(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest.o libpng.a $(LIBS)
  50. clean:
  51. $(RM_F) *.o libpng.a pngtest$(EXEEXT) pngout.png pnglibconf.h
  52. png.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  53. pngerror.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  54. pngget.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  55. pngmem.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  56. pngpread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  57. pngread.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  58. pngrio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  59. pngrtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  60. pngrutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  61. pngset.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  62. pngtrans.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  63. pngwio.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  64. pngwrite.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  65. pngwtran.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  66. pngwutil.o: png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
  67. pngtest.o: png.h pngconf.h pnglibconf.h