# /*------------------------------------------------------------\
# |                                                             |
# | Tool   :                      B2F                           |
# |                                                             |
# | File   :                    Makefile                        |
# |                                                             |
# | Author :                 Jacomme Ludovic                    |
# |                                                             |
# | Date   :                    28.10.94                        |
# |                                                             |
# \------------------------------------------------------------*/

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

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

LOCAL_CFLAGS = $(CFLAGS) -g -D$(ALLIANCE_OS)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Target                          |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_B2F_BIN    = b2f

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

LOCAL_INCLUDE = -I$(ALLIANCE_INCLUDE) -I$(LOCAL_TARGET_INC)

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

LOCAL_MBK_LIB = -L$(ALLIANCE_LIB) \
                $(MUT_L)

LOCAL_ABL_LIB = -L$(LOCAL_TARGET_LIB) \
                $(ABL_L) \
                $(AUT_L)

LOCAL_BDD_LIB = -L$(LOCAL_TARGET_LIB) \
                $(BDD_L) \
                $(BTR_L)

LOCAL_FSM_LIB = -L$(LOCAL_TARGET_LIB) \
                $(FTL_L) \
                $(FKS_L) \
                $(FVH_L) \
                $(FSM_L)

LOCAL_BEH_LIB = -L$(LOCAL_TARGET_LIB) \
                $(ABT_L) \
                $(ABV_L) \
                $(ABE_L)

LOCAL_LIB = $(LOCAL_BEH_LIB) $(LOCAL_FSM_LIB) $(LOCAL_BDD_LIB) \
            $(LOCAL_ABL_LIB) $(LOCAL_MBK_LIB)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Define                          |
# |                                                             |
# \------------------------------------------------------------*/

LOCAL_MBK_DEFINE   = -DMUT_H='"$(MUT_H)"'

LOCAL_FSM_DEFINE   = -DFSM_H='"$(FSM_H)"' \
                     -DFTL_H='"$(FTL_H)"'

LOCAL_BDD_DEFINE   = -DBDD_H='"$(BDD_H)"' \
                     -DBTR_H='"$(BTR_H)"'

LOCAL_ABL_DEFINE   = -DAUT_H='"$(AUT_H)"' \
                     -DABL_H='"$(ABL_H)"'

LOCAL_BEH_DEFINE   = -DBEH_H='"$(ABE_H)"' \
                     -DBVL_H='"$(ABV_H)"' \
                     -DBHL_H='"$(ABT_H)"' 

LOCAL_B2F_DEFINE   = -DALLIANCE_VERSION=$(ALLIANCE_VERSION) \
                     -DB2F_VERSION='"1.02"'

LOCAL_DEFINE = $(LOCAL_MBK_DEFINE) $(LOCAL_BDD_DEFINE) \
               $(LOCAL_B2F_DEFINE) $(LOCAL_FSM_DEFINE) \
               $(LOCAL_ABL_DEFINE) $(LOCAL_BEH_DEFINE)

LOCAL_HEADER = $(LOCAL_INCLUDE) $(LOCAL_DEFINE)

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

LOCAL_B2F_OBJ = b2f_beh2fsm.o b2f_error.o b2f_main.o

LOCAL_OBJ = $(LOCAL_B2F_OBJ)

.c.o:
	$(CC) -c $(LOCAL_CFLAGS) $(LOCAL_HEADER) $<

# /*------------------------------------------------------------\
# |                                                             |
# |                              Fsp                            |
# |                                                             |
# \------------------------------------------------------------*/

distrib : $(LOCAL_TARGET_BIN)/$(LOCAL_B2F_BIN)

force : $(LOCAL_OBJ)
	$(CC) $(LOCAL_CFLAGS) -o $(LOCAL_TARGET_BIN)/$(LOCAL_B2F_BIN) \
	$(LOCAL_OBJ) $(LOCAL_LIB) -lm

$(LOCAL_TARGET_BIN)/$(LOCAL_B2F_BIN) : $(LOCAL_OBJ)
	$(CC) $(LOCAL_CFLAGS) -o $(LOCAL_TARGET_BIN)/$(LOCAL_B2F_BIN) \
              $(LOCAL_OBJ) $(LOCAL_LIB) -lm 

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

clean :
	$(RM) -f $(LOCAL_OBJ)

realclean :
	$(RM) -f $(LOCAL_OBJ) $(LOCAL_TARGET_BIN)/$(LOCAL_B2F_BIN)
