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

VER_1    = 2
VER_2    = 00
VERSION  = $(VER_1).$(VER_2)
VER_NUM  = $(VER_1)$(VER_2)
LIB_NAME = vrd 
DRUC_LIB = libVrd$(VER_NUM).a


ALC_INC = -I$(ALLIANCE_INCLUDE) \
            -DMGN_H='"$(MGN_H)"' \
            -DMLU_H='"$(MLU_H)"' \
            -DMPU_H='"$(MPU_H)"' \
            -DMLO_H='"$(MLO_H)"' \
            -DMPH_H='"$(MPH_H)"' \
            -DBHL_H='"$(BHL_H)"' \
            -DBVL_H='"$(BVL_H)"' \
            -DBEH_H='"$(BEH_H)"' \
            -DPAT_H='"$(PAT_H)"' \
            -DLOG_H='"$(LOG_H)"' \
            -DICU_H='"$(ICU_H)"' \
            -DICN_H='"$(ICN_H)"' \
            -DIAC_H='"$(IAC_H)"' \
            -DMUT_H='"$(MUT_H)"' \
            -DRDS_H='"$(RDS_H)"' \
            -DRPR_H='"$(RPR_H)"' \
            -DRFM_H='"$(RFM_H)"' \
            -DRUT_H='"$(RUT_H)"' \
            -DRWI_H='"$(RWI_H)"' \
            -DRTL_H='"$(RTL_H)"'


ALC_LIB = -L$(ALLIANCE_LIB) \
          $(RTL_L) \
          $(RGS_L) \
          $(RCF_L) \
          $(RUT_L) \
          $(RFM_L) \
          $(RPR_L) \
          $(RDS_L) \
          $(RWI_L) \
          $(MLU_L) \
          $(MPU_L) \
          $(MCP_L) \
          $(MAP_L) \
          $(MMG_L) \
          $(MCL_L) \
          $(MPH_L) \
          $(MUT_L)


HEADERS = drucbath.h      \
          drucgral.h      \
          drucmin.h       \
          vmcerror.h      \
          vmcunify.h      \
          vmcaract.h      \
          vmcmesur.h      \
          drucring.h      \
          vmcasmld.h      \
          vmcrelat.h      \
          druchier.h      \
          drucutil.h      \
          defdefin.h      \
          defunion.h      \
          definter.h      \
          definclu.h      \
          defexclu.h      \
          defresiz.h      \
          deftools.h      \
          vmcerror.h      \
          drucompi.h      \
          vmctools.h      \
          drucutil.h      \
          drucompi.yac.tab.h         

SOURCES = drucbath.c      \
          drucmin.c       \
          lex.yy.c        \
          vmcerror.c      \
          vmcunify.c      \
          drucompi.c      \
          vmcaract.c      \
          vmcmesur.c      \
          drucompi.yac.tab.c         \
          drucgral.c      \
          drucring.c      \
          vmcasmld.c      \
          vmcrelat.c      \
          druchier.c      \
          drucutil.c      \
          defdefin.c      \
          defunion.c      \
          definter.c      \
          definclu.c      \
          defexclu.c      \
          defresiz.c      \
          deftools.c      \
          vmctools.c	  \
          drucgral_test.c     

OBJ     = drucompi.yac.tab.o         \
          drucutil.o      \
          lex.yy.o        \
          vmctools.o      \
          vmcerror.o      \
          drucompi.o      \
          druchier.o      \
          vmcunify.o      \
          vmcasmld.o      \
          vmcmesur.o      \
          vmcaract.o      \
          vmcrelat.o      \
          defdefin.o      \
          defunion.o      \
          definter.o      \
          definclu.o      \
          defexclu.o      \
          defresiz.o      \
          deftools.o      \
          drucmin.o    

OBJ_LIB = $(OBJ)          \
          drucgral.o     

OBJ_TST = $(OBJ_LIB)      \
          drucgral_test.o     

OBJ_EXE = $(OBJ)          \
          drucring.o      \
          drucbath.o



EXTRAFLAGS = $(ALC_INC) \
             -DVERSION='"$(VERSION)"' \
	     -D$(MACHINE) \
             -DALLIANCE_VERSION=$(ALLIANCE_VERSION) \
             -g  
all: distrib distribgraal

distribgraal : $(OBJ_TST)
	$(CP) drucgral.h ../include/vrd$(VER_NUM).h
	$(CC) $(CFLAGS) $(OBJ_TST) $(ALC_LIB) -lm  -o  ../bin/drucgraal
	@touch graaltest

distrib : $(OBJ_EXE) drucgral.o
	$(AR) $(ARFLAGS) ../lib/$(DRUC_LIB) $(OBJ_LIB)
	$(RANLIB) ../lib/$(DRUC_LIB) 
	$(CP) drucgral.h ../include/vrd$(VER_NUM).h
	$(CC) $(CFLAGS) $(OBJ_EXE) $(ALC_LIB) -lm  -o  ../bin/druc
	@touch distrib
	@if [ -f ../bin/INSTALLED ] ; \
	then $(RM) ../bin/INSTALLED ; \
	else exit 0 ; fi

.c.o        : $(HEADERS)
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c $<

lex.yy.o : drucompi.lex drucompi.yac
	$(LEX) drucompi.lex
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c lex.yy.c

drucompi.yac.tab.o : drucompi.yac 
	$(YACC) -d drucompi.yac
	$(CC) $(CFLAGS) $(EXTRAFLAGS) -c drucompi.yac.tab.c

clean:
	-@$(RM) -f ../bin/* ../lib/* ../include/* *.o \
	lex.yy.c drucompi.yac.tab.* drucompi.yac.output distrib > /dev/null 2>&1
