Subversion Repositories Kolibri OS

Rev

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

  1.  
  2. LIBRARY = libmpg123
  3.  
  4. CC = gcc
  5. CFLAGS= -c -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math
  6. CPPFLAGS =  -DOPT_MULTI -DOPT_GENERIC -DOPT_GENERIC_DITHER -DOPT_I386 -DOPT_I586 -DOPT_I586_DITHER -DOPT_MMX -DOPT_3DNOW -DOPT_3DNOWEXT -DOPT_SSE -DREAL_IS_FLOAT -DNOXFERMEM -DNEWOLD_WRITE_SAMPLE
  7.  
  8. LD = ld
  9. LDFLAGS = -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0 --out-implib $(LIBRARY).dll.a
  10.  
  11. STRIP = $(PREFIX)strip
  12.  
  13. UDEF= -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER
  14. DEFINES= -DHAVE_CONFIG_H
  15.  
  16. INCLUDES= -I../newlib/include
  17.  
  18. LIBPATH:= -L../newlib
  19.  
  20. LIBS:=  -ldll -lc.dll -lgcc
  21.  
  22.  
  23. SRCS=                                           \
  24.                         compat.c                \
  25.                         dct64.c                 \
  26.                         dct64_i386.c            \
  27.                         dither.c                \
  28.                         equalizer.c             \
  29.                         feature.c               \
  30.                         format.c                \
  31.                         frame.c                 \
  32.                         icy.c                   \
  33.                         icy2utf8.c              \
  34.                         id3.c                   \
  35.                         index.c                 \
  36.                         layer1.c                \
  37.                         layer2.c                \
  38.                         layer3.c                \
  39.                         lfs_alias.c             \
  40.                         libmpg123.c             \
  41.                         ntom.c                  \
  42.                         optimize.c              \
  43.                         parse.c                 \
  44.                         readers.c               \
  45.                         stringbuf.c             \
  46.                         synth.c                 \
  47.                         tabinit.c
  48.  
  49. ASM=                                            \
  50.                         dct36_3dnow.S           \
  51.                         dct36_3dnowext.S        \
  52.                         dct64_3dnow.S           \
  53.                         dct64_3dnowext.S        \
  54.                         dct64_mmx.S             \
  55.                         dct64_sse.S             \
  56.                         dct64_sse_float.S       \
  57.                         equalizer_3dnow.S       \
  58.                         getcpuflags.S           \
  59.                         synth_3dnow.S           \
  60.                         synth_3dnowext.S        \
  61.                         synth_i586.S            \
  62.                         synth_i586_dither.S     \
  63.                         synth_mmx.S             \
  64.                         synth_sse.S             \
  65.                         synth_sse_float.S       \
  66.                         synth_sse_s32.S         \
  67.                         synth_stereo_sse_float.S\
  68.                         synth_stereo_sse_S32.S  \
  69.                         tabinit_mmx.S
  70.  
  71. ASM_OBJS =  $(patsubst %.S, %.o, $(ASM))
  72. SRCS_OBJ = $(patsubst %.c, %.o, $(SRCS))
  73.  
  74.  
  75. all: $(LIBRARY).dll
  76.  
  77. $(LIBRARY).dll: $(SRCS_OBJ) $(ASM_OBJS) Makefile
  78.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ libmpg123.dll.def $(SRCS_OBJ) $(ASM_OBJS) $(LIBS)
  79.         $(STRIP) $@
  80.         sed -f ../newlib/cmd1.sed libmpg123.dll.def > mem
  81.         sed -f ../newlib/cmd2.sed mem >$(LIBRARY).inc
  82.  
  83. %.o : %.S $(ASM) Makefile
  84.         $(CC) $(CFLAGS) $(CPPFLAGS) $(UDEF) $(DEFINES) $(INCLUDES) -o $@ $<
  85.  
  86. %.o: %.c Makefile
  87.         $(CC) $(CFLAGS) $(CPPFLAGS) $(UDEF) $(DEFINES) $(INCLUDES) -o $@ $<
  88.  
  89. clean:
  90.         -rm -f *.o
  91.  
  92.