#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
#           -- DassGdb - a gdb-based disassembler for Linux --
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#
# Dass specific target definitions
#
DASS = dass.o
.EXE = testprog

#
# Dass include files
#
.H = dass.h

#
# Dass object files
.O = dass.o

#
# Dass test object files
#
DASS_TESTOBJ = testprog.o


#
# CLEANED files definitions.
#
.CLN = $(.O) $(.EXE) ${DASS_TESTOBJ} ${DASS} 


#
# COMPILATION/LINK FLAGS definitions:
#
# OF = Optimization/Debug flags
# CF = Compilation flags [Note: $(USR_CF) is prefered at the beginning].
# LF = Link flags [Note: $(USR_LF) has to be located at the end].
#
OF = -O2 -g
CF = -Wall $(OF)
LF = -static

#
# UNIX COMMANDS definitions.
#
# Could be overloaded by make invocations.
# RMF    = default forced rm.
#
RMF    = rm -f

###############################################################################
#                                                                             #
# Dass targets                                                                #
#                                                                             #
###############################################################################

all: ${.EXE}

.c.o:
	@echo $@:
	$(CC) $(CF) -c $<

testprog: ${DASS} ${DASS_TESTOBJ}
	@echo $@:
	${CC} ${CF} -o $@ $(DASS) $(DASS_TESTOBJ) ${LF}

clean:
	@echo $@:
	$(RMF) $(.CLN)

distclean:
	@echo $@:
	$(RMF) $(.CLN) out* *.bak *~ cscope.out tags

