# /*------------------------------------------------------------\
# |                                                             |
# | Tool   :                     LYNX                           |
# |                                                             |
# | File   :                   Makefile                         |
# |                                                             |
# | Author :                 Jacomme Ludovic                    |
# |                                                             |
# | Date   :                    01.08.93                        |
# |                                                             |
# \------------------------------------------------------------*/

include $(TOP)/etc/$(MACHINE).mk
include $(TOP)/etc/libraries.mk

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

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

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

LOCAL_INCLUDE = -I$(ALLIANCE_INCLUDE)

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


LOCAL_MBK_LIB = -L$(ALLIANCE_LIB) \
                $(MLU_L) \
                $(MPU_L) \
                $(MAP_L) \
                $(MAL_L) \
                $(MMG_L) \
                $(MCP_L) \
                $(MCL_L) \
                $(MSL_L) \
                $(MEL_L) \
                $(MHL_L) \
                $(MVL_L) \
                $(MLO_L) \
                $(MPH_L) \
                $(MUT_L)

LOCAL_RDS_LIB = -L$(ALLIANCE_LIB) \
                $(RTL_L) \
                $(RGS_L) \
                $(RCF_L) \
                $(RUT_L) \
                $(RFM_L) \
                $(RPR_L) \
                $(RDS_L) \
                $(RWI_L)

LOCAL_LIB = $(LOCAL_RDS_LIB) $(LOCAL_MBK_LIB)

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

LOCAL_MBK_DEFINE = -DMUT_H='"$(MUT_H)"' \
                   -DMLO_H='"$(MLO_H)"' \
                   -DMPH_H='"$(MPH_H)"'

LOCAL_RDS_DEFINE = -DRDS_H='"$(RDS_H)"' \
                   -DRPR_H='"$(RPR_H)"' \
                   -DRFM_H='"$(RFM_H)"' \
                   -DRUT_H='"$(RUT_H)"' \
                   -DRWI_H='"$(RWI_H)"' \
                   -DRTL_H='"$(RTL_H)"'

LOCAL_LYNX_DEFINE = -DALLIANCE_VERSION=$(ALLIANCE_VERSION)

LOCAL_DEFINE = $(LOCAL_MBK_DEFINE) $(LOCAL_RDS_DEFINE) $(LOCAL_LYNX_DEFINE)
LOCAL_HEADER = $(LOCAL_INCLUDE) $(LOCAL_DEFINE)

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

LOCAL_LYNX_OBJ = lynx.o lyerror.o share.o parse.o mbkrds.o cut.o extract.o netlist.o
LOCAL_FLAT_OBJ = flatrds.o

LOCAL_OBJ = $(LOCAL_LYNX_OBJ) $(LOCAL_FLAT_OBJ)

# /*------------------------------------------------------------\
# |                                                             |
# |                             Lynx                            |
# |                                                             |
# \------------------------------------------------------------*/

distrib : all
	@if [ -f ../bin/INSTALLED ] ; \
	then $(RM) ../bin/INSTALLED ; \
	else exit 0 ; \
	fi
	$(STRIP) lynx
	$(STRIP) flatrds
	$(MV) lynx ../bin/lynx
	$(MV) flatrds ../bin/flatrds
	@$(TOUCH) distrib

all     : $(LOCAL_OBJ)
	$(CC) $(LOCAL_CFLAGS) -o lynx $(LOCAL_LYNX_OBJ) $(LOCAL_LIB) -lm
	$(CC) $(LOCAL_CFLAGS) -o flatrds $(LOCAL_FLAT_OBJ) $(LOCAL_LIB) -lm

lynx.o     : lynx.c lynx.h share.h 
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  lynx.c

lyerror.o  : lyerror.c lyerror.h share.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  lyerror.c

extract.o  : extract.c extract.h share.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  extract.c

netlist.o  : netlist.c netlist.h share.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  netlist.c

mbkrds.o    : mbkrds.c mbkrds.h share.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  mbkrds.c

cut.o       : cut.c cut.h cut.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  cut.c

parse.o    : parse.c parse.h share.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  parse.c

share.o    : share.c share.h
	$(CC) $(LOCAL_CFLAGS) $(LOCAL_HEADER) -c  share.c

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

clean :
	$(RM) -f $(LOCAL_OBJ) ../bin/lynx ../bin/flatrds \
        distrib

