%.o : %.cpp scripts.h
	g++ -shared -c -Werror -fPIC -O2 $(CFLAGS) $< -o $@

ALL: $(TARGET) patcher

$(TARGET): dan.o dllmain.o jfwcine.o jfwcust.o jfwdmg.o jfwgame.o jfwhook.o jfwmisc.o jfwpoke.o jfwpow.o jfwscr.o jfwsnd.o jfwveh.o jfwweap.o jfwzone.o jfwobj.o jfwws.o kak.o neo.o nh.o nhp.o ra2.o reborn.o renalert.o scriptfactory.o scriptregistrar.o scripts.o scud.o shawk.o survival.o tda.o tfx.o mdb.o renalert2.o kamuix.o mdbdef.o mdbevf.o ra_legacy.o gap.o engine_bhs.o engine_common.o engine_def.o engine_dmg.o engine_game.o engine_io.o engine_net.o engine_obj.o engine_obj2.o engine_phys.o engine_player.o engine_pt.o engine_script.o engine_string.o engine_tdb.o engine_threading.o engine_weap.o engine_math.o
	g++ -shared -ldl $^ -o $@ 

patcher: patcher.c
	gcc -Werror -O2 $(CFLAGS) $< -o $@

engine_bhs.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_common.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_def.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_dmg.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_game.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_io.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_net.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_obj.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_obj2.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_phys.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_player.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_pt.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_script.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_string.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_tdb.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_threading.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_weap.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

engine_math.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

dllmain.o: engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

dan.o: dan.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwcine.o: jfwcine.h

jfwcust.o: jfwcust.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwdmg.o: jfwdmg.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwgame.o: jfwgame.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwhook.o: jfwhook.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwmisc.o: jfwmisc.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwpoke.o: jfwpoke.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwpow.o: jfwpow.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwscr.o: jfwscr.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwsnd.o: jfwsnd.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwveh.o: jfwveh.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwweap.o: jfwweap.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwzone.o: jfwzone.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwgun.o: jfwgun.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwdef.o: jfwdef.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

jfwobj.o: jfwobj.h

jfwwws.o: jfwws.h

kak.o: kak.h

neo.o: neo.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

nh.o: nh.h

nhp.o: nhp.h

ra2.o: ra2.h

nh.o: nh.h

reborn.o: reborn.h

renalert.o: renalert.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

scud.o: scud.h

shawk.o: shawk.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

survival.o: survival.h

tda.o: tda.h

tfx.o: tfx.h

mdb.o: mdb.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h mdbevf.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

renalert2.o: renalert2.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

kamuix.o: kamuix.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

mdbevf.o: mdbevf.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

mdbdef.o: mdbdef.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

ra_legacy.o: ra_legacy.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

gap.o: gap.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h

z.o: z.h engine.h engine_common.h engine_vector.h engine_threading.h engine_io.h engine_string.h engine_math.h engine_net.h engine_def.h engine_weap.h engine_obj.h engine_obj2.h engine_player.h engine_game.h engine_bhsdef.h engine_pt.h engine_tdb.h engine_dmg.h engine_phys.h engine_script.h engine_bhs.h
