# **************************************************************************
# Fichero makefile.
# --------------------------------------------------------------------------
# Licencia GPL. Juan Gonzalez Gomez
# --------------------------------------------------------------------------
#
#***************************************************************************

#-- Compilador
CC = sdcc
CFLAGS = -mhc08 --stack-loc 0x023f

#-- Ejemplos para el PUERTO A
NAME7=porta-sal
NAME8=porta-salent

#-- Ejemplos para el PORTB
NAME1=portb-sal
NAME9=portb-salent

#-- Ejemplos para el PUERTO D
NAME17=portd-sal

#-- Ejemplos para el Timer (TIM)
NAME2=tim-delay
NAME16=tim-ov-ledp
NAME18=tim-cmp0-ledp
NAME19=tim-cmp01-ledp
NAME20=tim-pwm-fut
NAME21=tim-pwm-fut8
NAME24=tim-cap0

#-- Ejemplos para los motores
NAME12=motor-on

NAME13=motor-sec
DEP13=$(NAME13).rel delay.rel

#-- Ejemplos para los sensores
NAME14=sensor1
NAME22=sensores
NAME23=sensor3

#-- Ejemplos para el puerto serie (SCI)
NAME3=sci-eco
DEP3=$(NAME3).rel sci.rel

NAME4=sci-menu
DEP4=$(NAME4).rel sci.rel

#-- Ejemplos para el conversor A/D
NAME15=ad-test1

#-- Ejemplos para el UAMBOT
NAME5=uambot-linea

#-- Otros
NAME10=ledp
DEP10=$(NAME10).rel delay.rel

NAME11=luces
DEP11=$(NAME11).rel delay.rel


all: $(NAME1).S19 $(NAME2).S19 $(NAME3).S19 $(NAME4).S19 $(NAME5).S19 \
      $(NAME7).S19 $(NAME8).S19 $(NAME9).S19 $(NAME10).S19 \
		 $(NAME11).S19 $(NAME12).S19 $(NAME13).S19 $(NAME14).S19 \
		 $(NAME15).S19 $(NAME16).S19 $(NAME17).S19 $(NAME18).S19 \
		 $(NAME19).S19 $(NAME20).S19 $(NAME21).S19 $(NAME22).S19 \
		 $(NAME23).S19 $(NAME24).S19 

#---------------------------
#       OBJETIVOS
#---------------------------
#-- Aqui estan puestos los programas que 
#-- tienen dependencias con otros modulos y que
#-- no usan las reglas genericas

#------------------------	
$(NAME3).S19: $(DEP3)
	    $(CC) $(CFLAGS) $(DEP3)	
			
#-----------------------
$(NAME4).S19: $(DEP4)
	    $(CC) $(CFLAGS) $(DEP4)		
			
#-----------------------

$(NAME10).S19: $(DEP10)
	    $(CC) $(CFLAGS) $(DEP10)
#-----------------------

$(NAME11).S19: $(DEP11)
	    $(CC) $(CFLAGS) $(DEP11)

#-------------------------

$(NAME13).S19: $(DEP13)
	    $(CC) $(CFLAGS) $(DEP13)
#-----------------------

$(TEST).S19: $(TESTDEP)
	    $(CC) $(CFLAGS) $(TESTDEP)
#-----------------------

clean:
	  rm -f *.o *.rel *.S19 *.sym *.lst *.map *.lnk	*.rst *.mem *.asm *~

#-----------------------
# REGLAS GENERICAS
#-----------------------
#-- Obtencion de los ficheros objeto
%.rel : %.c ; $(CC) -c $(CFLAGS) $<

#-- Obtencion de los ficheros ejecutables
%.S19 : %.rel; $(CC) -o $@ $(CFLAGS) $<
