
CFLAGS=  -I. -DOS2 -DHAVE_AV_CONFIG_H -DSIMPLE_IDCT /Mc /W0
OFLAGS = /qtune=pentium /qarch=pentium
#DFLAGS = /Ti

GCCFLAGS = -DOS2 -DHAVE_MMX -DHAVE_AV_CONFIG_H -DSIMPLE_IDCT -O4 -fomit-frame-pointer -mcpu=pentium -march=pentium
#GCDFLAGS = -g

OBJS= common.obj utils.obj mem.obj allcodecs.obj \
      mpegvideo.obj h263.obj jrevdct.obj jfdctfst.obj \
      mpegaudio.obj mjpeg.obj resample.obj dsputil.obj \
      motion_est.obj imgconvert.obj msmpeg4.obj \
      mpeg12.obj h263dec.obj rv10.obj mpegaudiodec.obj pcm.obj \
      simple_idct.obj ratecontrol.obj

#imgresample.obj

# i386 mmx specific stuff
OBJM  = i386/fdct_mmx.obj i386/cputest.obj \
	i386/dsputil_mmx.obj i386/mpegvideo_mmx.obj \
        i386/idct_mmx.obj i386/motion_est_mmx.obj \
        i386/simple_idct_mmx.obj

LIB= libavcodec.lib

all: $(LIB)

$(LIB): $(OBJS) $(OBJM)
	-del $@
	ilib -gi:$@ $** /O

.c.obj:
	icc -c /Q $(CFLAGS) $(OFLAGS) $(DFLAGS) /Fo$* $<


i386/cputest.obj: i386/cputest.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

i386/fdct_mmx.obj: i386/fdct_mmx.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

i386/idct_mmx.obj: i386/idct_mmx.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

i386/motion_est_mmx.obj: i386/motion_est_mmx.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

i386/mpegvideo_mmx.obj: i386/mpegvideo_mmx.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

i386/dsputil_mmx.obj: i386/dsputil_mmx.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

i386/simple_idct_mmx.obj: i386/simple_idct_mmx.c
        gcc -c -Zomf $(GCDFLAGS) -o $@ $(GCCFLAGS) $**

# api example program
apiexample.exe: $(LIB)
	icc /c /Q /Mc /Gm+ /Ti /Tx $(INCL) $(CFLAGS) apiexample.c
        icc /Q /B"/nol /de" /Fe $@ apiexample.obj $(LIB)

# cpuid test
cpuid_test.exe: i386/cputest.c
        gcc -g -O -Zomf -Zsys -D__TEST__ -o $@ $(INCL) -DHAVE_MMX i386/cputest.c

clean:
	-del *.obj *.lib *.exe
