Subversion Repositories Kolibri OS

Rev

Rev 4349 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1.  
  2. LIBRARY= libpng16
  3.  
  4. CC=gcc
  5. CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -march=pentium-mmx -fomit-frame-pointer
  6.  
  7. LD = ld
  8.  
  9. AR= ar
  10.  
  11. STRIP = $(PREFIX)strip
  12.  
  13. LDFLAGS:=  -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0 --out-implib $(LIBRARY).dll.a
  14.  
  15. INCLUDES= -I. -I../newlib/include -I../zlib
  16.  
  17. LIBPATH:= -L../zlib -L ../../static -L ../../import
  18.  
  19. LIBS:=  -ldll -lc.dll -lz.dll
  20.  
  21. DEFS = -DHAVE_CONFIG_H
  22.  
  23.  
  24. LIBPNG_DEFINES = -DPNG_CONFIGURE_LIBPNG
  25.  
  26. DEFINES= $(DEFS) $(LIBPNG_DEFINES)
  27.  
  28.  
  29.  
  30. SOURCES = png.c pngerror.c pngget.c pngmem.c pngpread.c \
  31.           pngread.c pngrio.c pngrtran.c pngrutil.c      \
  32.           pngset.c pngtrans.c pngwio.c pngwrite.c       \
  33.           pngwtran.c pngwutil.c
  34.  
  35.  
  36. OBJECTS =  $(patsubst %.c, %.o, $(SOURCES))
  37.  
  38.  
  39. # targets
  40.  
  41.  
  42. all:$(LIBRARY).a $(LIBRARY).dll
  43.  
  44.  
  45. $(LIBRARY).a: $(OBJECTS) Makefile
  46.         ar cvrs $(LIBRARY).a $(OBJECTS)
  47.         mv -f $(LIBRARY).a ../../lib
  48.  
  49. $(LIBRARY).dll: libpng16.def $(OBJECTS) Makefile
  50.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@  libpng16.def $(OBJECTS) $(LIBS)
  51.         $(STRIP) $@
  52.         sed -f ../newlib/cmd1.sed libpng16.def > mem
  53.         sed -f ../newlib/cmd2.sed mem >libpng.inc
  54.         mv -f $@ ../../bin
  55.         mv -f $(LIBRARY).dll.a ../../lib  
  56.  
  57.  
  58. %.o : %.c Makefile
  59.         $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  60.  
  61. clean:
  62.         -rm -f *.o
  63.  
  64.  
  65.  
  66.  
  67.