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

LOCAL_TRGINC = ../include
LOCAL_TRGLIB = ../lib
LOCAL_TRGBIN = ../bin

SOURCE = main.c

GGA_LIB = libGga301.a
GGA_H   = gga301.h
GGA_L   = -lGga301

RSA_OBJ = rsa.o
RSA_BIN = rsa
RSA_SRC = rsa.c
RSA_INC = rsa_lay.c rsa_net.c rsa_bull.c rsa_vhdl.c rsa_perf.c rsa_pat.c rsa_dat.c rsa_int.c rsa_icon.c

INC        = -DMUT_H='<'$(MUT_H)'>'\
             -DGGA_H='<'$(GGA_H)'>'\
             -DICU_H='<'$(ICU_H)'>'\
             -DICN_H='<'$(ICN_H)'>'\
             -DIAC_H='<'$(IAC_H)'>'

EXTRAFLAGS = -I$(LOCAL_TRGINC) -I$(ALLIANCE_INCLUDE) -O $(INC) -DALC=$(ALLIANCE_VERSION)

LIB        = -L$(LOCAL_TRGLIB) $(GGA_L) -L$(ALLIANCE_LIB) \
             $(MGN_L) $(MLU_L) $(MPU_L) \
             $(MCP_L) $(MAP_L) $(MMG_L) \
             $(MCL_L) $(MAL_L) $(MVL_L) $(MEL_L) $(MSL_L) $(MHL_L) \
             $(MLO_L) $(MPH_L) \
             $(ICU_L) $(ICC_L) $(ICA_L) $(ICN_L) \
             $(MUT_L) \
             -lm

distrib : $(LOCAL_TRGLIB)/$(GGA_LIB) $(SOURCE)
	cp $(GGA_H) $(LOCAL_TRGINC)
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -o $(LOCAL_TRGBIN)/$(RSA_BIN) $(SOURCE) $(LIB)
	$(STRIP) $(LOCAL_TRGBIN)/$(RSA_BIN)
	touch distrib
	@if [ -f $(LOCAL_TRGBIN)/INSTALLED ] ; then $(RM) $(LOCAL_TRGBIN)/INSTALLED ; else exit 0 ; fi
	@if [ -f $(LOCAL_TRGLIB)/INSTALLED ] ; then $(RM) $(LOCAL_TRGLIB)/INSTALLED ; else exit 0 ; fi
	@if [ -f $(LOCAL_TRGINC)/INSTALLED ] ; then $(RM) $(LOCAL_TRGINC)/INSTALLED ; else exit 0 ; fi

$(LOCAL_TRGLIB)/$(GGA_LIB) : $(RSA_SRC) $(RSA_INC)
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c $(RSA_SRC)
	$(AR) $(ARFLAGS) $(LOCAL_TRGLIB)/$(GGA_LIB) $(RSA_OBJ)
	$(RANLIB) $(LOCAL_TRGLIB)/$(GGA_LIB)
	-@$(RM) $(RSA_OBJ)

clean :
	-@$(RM) $(RSA_OBJ) distrib > /dev/null 2>&1
	-@$(RM) $(LOCAL_TRGBIN)/$(RSA_BIN) > /dev/null 2>&1
	-@$(RM) $(LOCAL_TRGLIB)/$(GGA_LIB) > /dev/null 2>&1
	-@$(RM) $(LOCAL_TRGINC)/$(GGA_H) > /dev/null 2>&1
