# /*------------------------------------------------------------\
# |                                                             |
# | Tool   :                      All                           |
# |                                                             |
# | File   :                    Makefile                        |
# |                                                             |
# | Author :                  Jacomme Ludovic                   |
# |                                                             |
# | Date   :                    29.10.94                        |
# |                                                             |
# \------------------------------------------------------------*/

include $(ALLIANCE_TOP)/etc/$(ALLIANCE_OS).mk
include $(ALLIANCE_TOP)/etc/libraries.mk
include local.mk

# /*------------------------------------------------------------\
# |                                                             |
# |                            Variables                        |
# |                                                             |
# \------------------------------------------------------------*/
# /*------------------------------------------------------------\
# |                                                             |
# |                             Library                         |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_ABE_LIB = $(LOCAL_TARGET_LIB)/$(ABE_LIB)
LOCAL_ABT_LIB = $(LOCAL_TARGET_LIB)/$(ABT_LIB)
LOCAL_ABV_LIB = $(LOCAL_TARGET_LIB)/$(ABV_LIB)

LOCAL_GCP_LIB = $(LOCAL_TARGET_LIB)/$(GCP_LIB)

LOCAL_VEX_LIB = $(LOCAL_TARGET_LIB)/$(VEX_LIB)

LOCAL_RTD_LIB = $(LOCAL_TARGET_LIB)/$(RTD_LIB)
LOCAL_RTN_LIB = $(LOCAL_TARGET_LIB)/$(RTN_LIB)

LOCAL_VBH_LIB = $(LOCAL_TARGET_LIB)/$(VBH_LIB)
LOCAL_VBL_LIB = $(LOCAL_TARGET_LIB)/$(VBL_LIB)
LOCAL_VPD_LIB = $(LOCAL_TARGET_LIB)/$(VPD_LIB)
LOCAL_VPN_LIB = $(LOCAL_TARGET_LIB)/$(VPN_LIB)
LOCAL_VTL_LIB = $(LOCAL_TARGET_LIB)/$(VTL_LIB)
LOCAL_VVH_LIB = $(LOCAL_TARGET_LIB)/$(VVH_LIB)

LOCAL_AUT_LIB = $(LOCAL_TARGET_LIB)/$(AUT_LIB)
LOCAL_ABL_LIB = $(LOCAL_TARGET_LIB)/$(ABL_LIB)
LOCAL_BDD_LIB = $(LOCAL_TARGET_LIB)/$(BDD_LIB)
LOCAL_BTR_LIB = $(LOCAL_TARGET_LIB)/$(BTR_LIB)
LOCAL_FSM_LIB = $(LOCAL_TARGET_LIB)/$(FSM_LIB)
LOCAL_FKS_LIB = $(LOCAL_TARGET_LIB)/$(FKS_LIB)
LOCAL_FVH_LIB = $(LOCAL_TARGET_LIB)/$(FVH_LIB)
LOCAL_FTL_LIB = $(LOCAL_TARGET_LIB)/$(FTL_LIB)


LOCAL_SCL_LIB = $(LOCAL_TARGET_LIB)/$(SCL_LIB)

LOCAL_ALL_LIB = $(LOCAL_AUT_LIB) $(LOCAL_ABL_LIB) \
                $(LOCAL_BDD_LIB) $(LOCAL_BTR_LIB) \
                $(LOCAL_FSM_LIB) $(LOCAL_FKS_LIB) \
                $(LOCAL_FVH_LIB) $(LOCAL_FTL_LIB) \
                $(LOCAL_ABE_LIB) $(LOCAL_ABT_LIB) \
                $(LOCAL_ABV_LIB) $(LOCAL_GCP_LIB) \
                $(LOCAL_SCL_LIB) $(LOCAL_VEX_LIB) \
		$(LOCAL_RTN_LIB) $(LOCAL_RTD_LIB) \
                $(LOCAL_VBH_LIB) $(LOCAL_VBL_LIB) \
                $(LOCAL_VPN_LIB) $(LOCAL_VPD_LIB) \
                $(LOCAL_VTL_LIB) $(LOCAL_VVH_LIB)

# /*------------------------------------------------------------\
# |                                                             |
# |                            Include                          |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_AUT_INC = $(LOCAL_TARGET_INC)/$(AUT_H)
LOCAL_ABL_INC = $(LOCAL_TARGET_INC)/$(ABL_H)
LOCAL_BDD_INC = $(LOCAL_TARGET_INC)/$(BDD_H)
LOCAL_BTR_INC = $(LOCAL_TARGET_INC)/$(BTR_H)
LOCAL_FSM_INC = $(LOCAL_TARGET_INC)/$(FSM_H)
LOCAL_FVH_INC = $(LOCAL_TARGET_INC)/$(FVH_H)
LOCAL_FTL_INC = $(LOCAL_TARGET_INC)/$(FTL_H)
LOCAL_FKS_INC = $(LOCAL_TARGET_INC)/$(FKS_H)

LOCAL_ABE_INC = $(LOCAL_TARGET_INC)/$(ABE_H)
LOCAL_ABV_INC = $(LOCAL_TARGET_INC)/$(ABV_H)
LOCAL_ABT_INC = $(LOCAL_TARGET_INC)/$(ABT_H)

LOCAL_GCP_INC = $(LOCAL_TARGET_INC)/$(GCP_H)

LOCAL_RTD_INC = $(LOCAL_TARGET_INC)/$(RTD_H)
LOCAL_RTN_INC = $(LOCAL_TARGET_INC)/$(RTN_H)

LOCAL_SCL_INC = $(LOCAL_TARGET_INC)/$(SCL_H)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Binary                          |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_B2F_BIN = $(LOCAL_TARGET_BIN)/b2f
LOCAL_K2F_BIN = $(LOCAL_TARGET_BIN)/k2f
LOCAL_SYF_BIN = $(LOCAL_TARGET_BIN)/syf
LOCAL_XFS_BIN = $(LOCAL_TARGET_BIN)/xfsm
LOCAL_XPT_BIN = $(LOCAL_TARGET_BIN)/xpat
LOCAL_XSC_BIN = $(LOCAL_TARGET_BIN)/xsch
LOCAL_VAS_BIN = $(LOCAL_TARGET_BIN)/vasy
LOCAL_XVP_BIN = $(LOCAL_TARGET_BIN)/xvpn

LOCAL_ALL_BIN = $(LOCAL_B2F_BIN) $(LOCAL_K2F_BIN) \
                $(LOCAL_SYF_BIN) $(LOCAL_XFS_BIN) \
                $(LOCAL_XPT_BIN) $(LOCAL_XSC_BIN) \
		$(LOCAL_VAS_BIN) $(LOCAL_XVP_BIN)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Binary                          |
# |                                                             |
# \------------------------------------------------------------*/

distrib : $(LOCAL_ALL_BIN)

$(LOCAL_XPT_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_XPT_SCE); $(MAKE) distrib

$(LOCAL_XFS_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_XFS_SCE); $(MAKE) distrib

$(LOCAL_XSC_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_XSC_SCE); $(MAKE) distrib

$(LOCAL_XVP_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_XVP_SCE); $(MAKE) distrib

$(LOCAL_VAS_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_VAS_SCE); $(MAKE) distrib

$(LOCAL_SYF_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_SYF_SCE); $(MAKE) distrib

$(LOCAL_K2F_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_K2F_SCE); $(MAKE) distrib

$(LOCAL_B2F_BIN) : $(LOCAL_ALL_LIB)
	cd $(LOCAL_B2F_SCE); $(MAKE) distrib

# /*------------------------------------------------------------\
# |                                                             |
# |                           Library                           |
# |                                                             |
# \------------------------------------------------------------*/

$(LOCAL_AUT_LIB) : $(LOCAL_AUT_INC)
	cd $(LOCAL_AUT_SCE); $(MAKE) distrib

$(LOCAL_ABL_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC)
	cd $(LOCAL_ABL_SCE); $(MAKE) distrib

$(LOCAL_BTR_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BTR_INC) \
                   $(LOCAL_BDD_INC)
	cd $(LOCAL_BTR_SCE); $(MAKE) distrib

$(LOCAL_BDD_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC)
	cd $(LOCAL_BDD_SCE); $(MAKE) distrib

$(LOCAL_FSM_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC)
	cd $(LOCAL_FSM_SCE); $(MAKE) distrib

$(LOCAL_FKS_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC) \
                   $(LOCAL_FSM_INC)
	cd $(LOCAL_FKS_SCE); $(MAKE) distrib

$(LOCAL_FVH_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC) \
                   $(LOCAL_FSM_INC)
	cd $(LOCAL_FVH_SCE); $(MAKE) distrib

$(LOCAL_FTL_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC) \
                   $(LOCAL_FSM_INC)
	cd $(LOCAL_FTL_SCE); $(MAKE) distrib

$(LOCAL_ABE_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC)
	cd $(LOCAL_ABE_SCE); $(MAKE) distrib

$(LOCAL_ABT_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC) \
                   $(LOCAL_ABE_INC)
	cd $(LOCAL_ABT_SCE); $(MAKE) distrib

$(LOCAL_ABV_LIB) : $(LOCAL_AUT_INC) $(LOCAL_ABL_INC) $(LOCAL_BDD_INC) \
                   $(LOCAL_ABV_INC)
	cd $(LOCAL_ABV_SCE); $(MAKE) distrib

$(LOCAL_SCL_LIB) : $(LOCAL_AUT_INC) $(LOCAL_SCL_INC)
	cd $(LOCAL_SCL_SCE); $(MAKE) distrib

$(LOCAL_GCP_LIB) : $(LOCAL_AUT_INC) $(LOCAL_GCP_INC)
	cd $(LOCAL_GCP_SCE); $(MAKE) distrib

$(LOCAL_VEX_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC)
	cd $(LOCAL_VEX_SCE); $(MAKE) distrib

$(LOCAL_RTD_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_RTD_INC) \
                   $(LOCAL_RTN_INC)
	cd $(LOCAL_RTD_SCE); $(MAKE) distrib

$(LOCAL_RTN_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_RTN_INC)
	cd $(LOCAL_RTN_SCE); $(MAKE) distrib

$(LOCAL_VBH_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_VBH_INC)
	cd $(LOCAL_VBH_SCE); $(MAKE) distrib

$(LOCAL_VBL_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_VBL_INC) \
                   $(LOCAL_VBL_INC)
	cd $(LOCAL_VBL_SCE); $(MAKE) distrib

$(LOCAL_VPD_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_VPN_INC) \
                   $(LOCAL_VPD_INC)
	cd $(LOCAL_VPD_SCE); $(MAKE) distrib

$(LOCAL_VPN_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_VPN_INC)
	cd $(LOCAL_VPN_SCE); $(MAKE) distrib

$(LOCAL_VTL_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_VPN_INC) \
                   $(LOCAL_VPD_INC) \
                   $(LOCAL_VVH_INC) $(LOCAL_VTL_INC)
	cd $(LOCAL_VTL_SCE); $(MAKE) distrib

$(LOCAL_VVH_LIB) : $(LOCAL_AUT_INC) $(LOCAL_VEX_INC) $(LOCAL_VPN_INC) \
                   $(LOCAL_VVH_INC)
	cd $(LOCAL_VVH_SCE); $(MAKE) distrib

# /*------------------------------------------------------------\
# |                                                             |
# |                           Include                           |
# |                                                             |
# \------------------------------------------------------------*/

$(LOCAL_AUT_INC) : $(LOCAL_AUT_SCE)/$(AUT_H)
	cd $(LOCAL_AUT_SCE); $(MAKE) distrib

$(LOCAL_ABL_INC) : $(LOCAL_ABL_SCE)/$(ABL_H)
	cd $(LOCAL_ABL_SCE); $(MAKE) distrib

$(LOCAL_BDD_INC) : $(LOCAL_BDD_SCE)/$(BDD_H)
	cd $(LOCAL_BDD_SCE); $(MAKE) distrib

$(LOCAL_BTR_INC) : $(LOCAL_BTR_SCE)/$(BTR_H)
	cd $(LOCAL_BTR_SCE); $(MAKE) distrib

$(LOCAL_FSM_INC) : $(LOCAL_FSM_SCE)/$(FSM_H)
	cd $(LOCAL_FSM_SCE); $(MAKE) distrib

$(LOCAL_FTL_INC) : $(LOCAL_FTL_SCE)/$(FTL_H)
	cd $(LOCAL_FTL_SCE); $(MAKE) distrib

$(LOCAL_FKS_INC) : $(LOCAL_FKS_SCE)/$(FKS_H)
	cd $(LOCAL_FKS_SCE); $(MAKE) distrib

$(LOCAL_ABE_INC) : $(LOCAL_ABE_SCE)/$(ABE_H)
	cd $(LOCAL_ABE_SCE); $(MAKE) distrib

$(LOCAL_ABT_INC) : $(LOCAL_ABT_SCE)/$(ABT_H)
	cd $(LOCAL_ABT_SCE); $(MAKE) distrib

$(LOCAL_ABV_INC) : $(LOCAL_ABV_SCE)/$(ABV_H)
	cd $(LOCAL_ABV_SCE); $(MAKE) distrib

$(LOCAL_SCL_INC) : $(LOCAL_SCL_SCE)/$(SCL_H)
	cd $(LOCAL_SCL_SCE); $(MAKE) distrib

$(LOCAL_GCP_INC) : $(LOCAL_GCP_SCE)/$(GCP_H)
	cd $(LOCAL_GCP_SCE); $(MAKE) distrib

$(LOCAL_VEX_INC) : $(LOCAL_VEX_SCE)/$(VEX_H)
	cd $(LOCAL_VEX_SCE); $(MAKE) distrib

$(LOCAL_RTD_INC) : $(LOCAL_RTD_SCE)/$(RTD_H)
	cd $(LOCAL_RTD_SCE); $(MAKE) distrib

$(LOCAL_RTN_INC) : $(LOCAL_RTN_SCE)/$(RTN_H)
	cd $(LOCAL_RTN_SCE); $(MAKE) distrib

$(LOCAL_VBH_INC) : $(LOCAL_VBH_SCE)/$(VBH_H)
	cd $(LOCAL_VBH_SCE); $(MAKE) distrib

$(LOCAL_VBL_INC) : $(LOCAL_VBL_SCE)/$(VBL_H)
	cd $(LOCAL_VBL_SCE); $(MAKE) distrib

$(LOCAL_VPD_INC) : $(LOCAL_VPD_SCE)/$(VPD_H)
	cd $(LOCAL_VPD_SCE); $(MAKE) distrib

$(LOCAL_VPN_INC) : $(LOCAL_VPN_SCE)/$(VPN_H)
	cd $(LOCAL_VPN_SCE); $(MAKE) distrib

$(LOCAL_VTL_INC) : $(LOCAL_VTL_SCE)/$(VTL_H)
	cd $(LOCAL_VTL_SCE); $(MAKE) distrib

$(LOCAL_VVH_INC) : $(LOCAL_VVH_SCE)/$(VVH_H)
	cd $(LOCAL_VVH_SCE); $(MAKE) distrib

# /*------------------------------------------------------------\
# |                                                             |
# |                              Clean                          |
# |                                                             |
# \------------------------------------------------------------*/

clean :
	cd $(LOCAL_AUT_SCE); $(MAKE) clean
	cd $(LOCAL_ABL_SCE); $(MAKE) clean
	cd $(LOCAL_BDD_SCE); $(MAKE) clean
	cd $(LOCAL_BTR_SCE); $(MAKE) clean
	cd $(LOCAL_FSM_SCE); $(MAKE) clean
	cd $(LOCAL_FKS_SCE); $(MAKE) clean
	cd $(LOCAL_FVH_SCE); $(MAKE) clean
	cd $(LOCAL_FTL_SCE); $(MAKE) clean
	cd $(LOCAL_SYF_SCE); $(MAKE) clean
	cd $(LOCAL_XFS_SCE); $(MAKE) clean
	cd $(LOCAL_XPT_SCE); $(MAKE) clean
	cd $(LOCAL_ABE_SCE); $(MAKE) clean
	cd $(LOCAL_ABT_SCE); $(MAKE) clean
	cd $(LOCAL_ABV_SCE); $(MAKE) clean
	cd $(LOCAL_SCL_SCE); $(MAKE) clean
	cd $(LOCAL_XSC_SCE); $(MAKE) clean
	cd $(LOCAL_GCP_SCE); $(MAKE) clean
	cd $(LOCAL_VEX_SCE); $(MAKE) clean
	cd $(LOCAL_RTN_SCE); $(MAKE) clean
	cd $(LOCAL_VBH_SCE); $(MAKE) clean
	cd $(LOCAL_VBL_SCE); $(MAKE) clean
	cd $(LOCAL_VPD_SCE); $(MAKE) clean
	cd $(LOCAL_VPN_SCE); $(MAKE) clean
	cd $(LOCAL_VTL_SCE); $(MAKE) clean
	cd $(LOCAL_VVH_SCE); $(MAKE) clean
	cd $(LOCAL_RTD_SCE); $(MAKE) clean
	cd $(LOCAL_K2F_SCE); $(MAKE) clean
	cd $(LOCAL_B2F_SCE); $(MAKE) clean
	cd $(LOCAL_XVP_SCE); $(MAKE) clean
	cd $(LOCAL_VAS_SCE); $(MAKE) clean


# /*------------------------------------------------------------\
# |                                                             |
# |                          Clean Object                       |
# |                                                             |
# \------------------------------------------------------------*/

realclean :
	cd $(LOCAL_AUT_SCE); $(MAKE) realclean
	cd $(LOCAL_ABL_SCE); $(MAKE) realclean
	cd $(LOCAL_BDD_SCE); $(MAKE) realclean
	cd $(LOCAL_BTR_SCE); $(MAKE) realclean
	cd $(LOCAL_FSM_SCE); $(MAKE) realclean
	cd $(LOCAL_FKS_SCE); $(MAKE) realclean
	cd $(LOCAL_FVH_SCE); $(MAKE) realclean
	cd $(LOCAL_FTL_SCE); $(MAKE) realclean
	cd $(LOCAL_SYF_SCE); $(MAKE) realclean
	cd $(LOCAL_XFS_SCE); $(MAKE) realclean
	cd $(LOCAL_XPT_SCE); $(MAKE) realclean
	cd $(LOCAL_ABE_SCE); $(MAKE) realclean
	cd $(LOCAL_ABT_SCE); $(MAKE) realclean
	cd $(LOCAL_ABV_SCE); $(MAKE) realclean
	cd $(LOCAL_XSC_SCE); $(MAKE) realclean
	cd $(LOCAL_SCL_SCE); $(MAKE) realclean
	cd $(LOCAL_VEX_SCE); $(MAKE) realclean
	cd $(LOCAL_VBH_SCE); $(MAKE) realclean
	cd $(LOCAL_VBL_SCE); $(MAKE) realclean
	cd $(LOCAL_VPD_SCE); $(MAKE) realclean
	cd $(LOCAL_VPN_SCE); $(MAKE) realclean
	cd $(LOCAL_VTL_SCE); $(MAKE) realclean
	cd $(LOCAL_VVH_SCE); $(MAKE) realclean
	cd $(LOCAL_RTN_SCE); $(MAKE) realclean
	cd $(LOCAL_RTD_SCE); $(MAKE) realclean
	cd $(LOCAL_GCP_SCE); $(MAKE) realclean
	cd $(LOCAL_K2F_SCE); $(MAKE) realclean
	cd $(LOCAL_B2F_SCE); $(MAKE) realclean
	cd $(LOCAL_XVP_SCE); $(MAKE) realclean
	cd $(LOCAL_VAS_SCE); $(MAKE) realclean
