#
#
#

VERSION =	`./minflag -v`
DIST = 		minami-$(VERSION)
DISTR = 	minamir-$(VERSION)

#CFLAGS =	-Wall -O -g -DDEBUG_GAME -DSLOW
#CFLAGS =	-Wall -O -g -DDEBUG_GAME
CFLAGS =	`./minflag -c`


GENSRCS = 	genact.c genscn.c
GENOBJS = 	genact.o genscn.o
GEN =		genact.c genscn.h genscn.c item.c item.h

SRCS =		minami.c term.c item.c action.c misc.c battle.c
OBJS = 		minami.o term.o item.o action.o misc.o battle.o

INCLUDES = 	minami.h scene.h
SCENES =	VOID.d ITEM.d\
		INTRO.d AKI.d MAT.d DEPT.d HAT_INTRO.d HAT.d\
		ASK.d DUN.d MAN.d TOW.d ENDING.d MISC.d 
DUNGEONS = 	DUN_DEP.d MAN_DEP.d TOW_DEP.d
BASE =		SCENE.d ITEMTAB.d DICT.d
SCRIPTS = 	gen_itm gen_act gen_dun gen_scn minflag
DESC = 		$(SCENES) DUN0.d MAN0.d TOW0.d
LICENSE =	README LICENSE ChangeLog

all::	minami

clean::
	-rm *.o minami $(GEN)
	-rm -rf action

tar::
	-rm -rf $(DIST)
	-rm -rf $(DISTR)
	-mkdir $(DIST) $(DISTR)
	cp $(LICENSE) ITEMTAB Makefile MakefileR $(BASE) $(SRCS) $(SCENES) $(DUNGEONS) $(SCRIPTS) $(INCLUDES) $(DIST)
	cp minflag version.h scn.h $(GEN) $(LICENSE) $(SRCS) $(INCLUDES) $(DISTR)
	cp MakefileR $(DISTR)/Makefile
	-mkdir $(DISTR)/action
	cp action/Makefile $(DISTR)/action
	cp action/*.c $(DISTR)/action
	tar cvfz minami-$(VERSION).tgz $(DIST)
	tar cvfz minamir-$(VERSION).tgz $(DISTR)

minami:	$(OBJS) $(GENOBJS)
	(cd action; make)
	cc $(OBJS) $(GENOBJS) action/libaction.a `./minflag -l` -o minami

minami.o: minami.h scene.h item.h version.h genscn.h
	$(CC) $(CFLAGS) -c minami.c -o minami.o
item.o: minami.h scene.h item.h version.h genscn.h 
term.o: minami.h scene.h item.h version.h genscn.h
action.o: minami.h scene.h item.h version.h genscn.h
misc.o: minami.h scene.h item.h version.h genscn.h
battle.o: minami.h scene.h item.h version.h genscn.h

item.c item.h: ITEMTAB.d gen_itm
	./gen_itm < ITEMTAB.d

scene.h: genscn.h

genscn.h genscn.c: SCENE.d gen_scn
	./gen_scn SCENE.d

genact.c:  $(DESC) $(BASE) gen_act genscn.h
	cat $(DESC) | ./gen_act

DUN0.d: DUN_DEP.d gen_dun
	./gen_dun 3 3 DUN_ < DUN_DEP.d > DUN0.d

MAN0.d: MAN_DEP.d gen_dun
	./gen_dun 5 5 MAN_ < MAN_DEP.d > MAN0.d

TOW0.d: TOW_DEP.d gen_dun
	./gen_dun 4 4 TOW_ < TOW_DEP.d > TOW0.d

version.h: minflag
	./minflag > version.h
