-all: librfxswf.a
-
-lame_objects = lame/psymodel.o lame/fft.o lame/newmdct.o lame/quantize.o lame/takehiro.o lame/reservoir.o lame/quantize_pvt.o lame/vbrquantize.o lame/encoder.o lame/id3tag.o lame/version.o lame/tables.o lame/util.o lame/bitstream.o lame/set_get.o lame/VbrTag.o lame/lame.o
-rfxswf_modules = modules/swfbits.c modules/swfaction.c modules/swfdump.c modules/swfcgi.c modules/swfbutton.c modules/swftext.c modules/swftools.c modules/swfsound.c modules/swfshape.c modules/swfobject.c
-
-%.o: %.c
- $(C) $< -o $@
-
-rfxswf.o: rfxswf.c rfxswf.h bitio.h log.h $(rfxswf_modules)
+all: librfxswf$(A) q.$(O)
+
+lame_objects = @lame_objects@
+
+h263_objects = h.263/dct.$(O) h.263/h263tables.$(O) h.263/swfvideo.$(O)
+actioncompiler_objects = action/assembler.$(O) action/compile.$(O) action/lex.swf4.$(O) action/lex.swf5.$(O) action/libming.$(O) action/swf4compiler.tab.$(O) action/swf5compiler.tab.$(O) action/actioncompiler.$(O)
+rfxswf_modules = modules/swfbits.c modules/swfaction.c modules/swfdump.c modules/swfcgi.c modules/swfbutton.c modules/swftext.c modules/swffont.c modules/swftools.c modules/swfsound.c modules/swfshape.c modules/swfobject.c modules/swfdraw.c modules/swfrender.c h.263/swfvideo.c
+
+bitio.$(O): bitio.c bitio.h
+ $(C) bitio.c -o $@
+drawer.$(O): drawer.c drawer.h
+ $(C) drawer.c -o $@
+q.$(O): q.c q.h $(top_builddir)/config.h
+ $(C) q.c -o $@
+MD5.$(O): MD5.c MD5.h
+ $(C) MD5.c -o $@
+log.$(O): log.c log.h
+ $(C) log.c -o $@
+rfxswf.$(O): rfxswf.c rfxswf.h drawer.h bitio.h log.h MD5.h $(rfxswf_modules) $(top_builddir)/config.h
+ $(C) rfxswf.c -o $@