#
#	@(#)Makefile (sample)
#		GNU make 
#
#	make ˡ
#	make
#		꡼ѤǤ
#	make mode=debug
#		ǥХåѤ˺
#	make clean
#		make ǺƤΥե
#	make install
#		ξ˥󥹥ȡ (µѤΤ)
#

# С
version = 0x1000

# ꡼ѤǥեȤˤ
mode =

# ΰ¸طե (ư)
DEPS = Dependencies
DEPENDENCIES_OUTPUT := $(DEPS)

# ץꥱɸ롼
include ../../etc/makerules

#----------------------------------------------------------------------
# о
TARGET = sample

# եΥѥ
S = ../src
VPATH = $(S)

# إåեΥǥ쥯ȥɲ
HEADER := $(S) $(HEADER)

# ե
SRC =	main.c	\
	exec.c	\
	disp.c	\
	act.c	\
	menu.c	\
	press.c

# ǡܥåե
DBSRC = dbox.c

SRC += $(DBSRC)

WC_SRC = $(filter %.C, $(SRC))

# ֥ȥե
OBJ = $(addsuffix .o, $(basename $(SRC)))

# ѥ륪ץ
ifneq ($(mode), debug)
  CFLAGS += -Wall
endif

#----------------------------------------------------------------------
.PHONY: all clean install

INST = $(addprefix $(TARGET), .bz .map)
NOINST = $(addprefix $(TARGET), .out .fsn)

all: $(INST)

$(TARGET).out: $(OBJ)
	$(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)

clean:
	$(RM) $(OBJ)
	$(RM) $(WC_SRC:%.C=%.c) $(DBSRC)
	$(RM) $(INST) $(NOINST) *.lst $(DEPS)

install: $(INST:%=$(EXE_INSTALLDIR)/%)

$(EXE_INSTALLDIR)/$(TARGET).out: $(EXE_INSTALLDIR)/%: %
	$(EXE_INSTALL_STRIP)

# ̥
# -f0x40 ϡʪϿѤ˥ץꥱ° 1 ꤹ
#
$(TARGET).bz: $(NOINST)
	$(CP) $(TARGET).out _t
	$(STRIP) _t
	$(MKBTF) -o$@ -a0x8003 -c -tSAMPLE -f0x40 \
		9.0x163._t \
		7.$(version).$(TARGET).fsn
	$(RM) _t

# ΰ¸ط

$(WC_SRC:%.C=%.c):

$(DBSRC):

ifdef DEPENDENCIES_OUTPUT
$(DEPS):	; touch $(DEPS)
else
$(DEPS): $(SRC)	; $(MAKEDEPS) $@ $?
endif

include $(DEPS)
