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

VER_1    = 1
VER_2    = 06
VERSION  = $(VER_1).$(VER_2)
VER_NUM  = $(VER_1)$(VER_2)
DRUC_LIB = libDrc$(VER_NUM).a

ALC_INC = -I$(ALLIANCE_INCLUDE) \
          -DMGN_H='"mgn319.h"' \
          -DMLU_H='"mlu411.h"' \
          -DMPU_H='"mpu402.h"' \
          -DMLO_H='"mlo404.h"' \
          -DMPH_H='"mph402.h"' \
          -DBHL_H='"bhl106.h"' \
          -DBVL_H='"bvl108.h"' \
          -DBEH_H='"beh106.h"' \
          -DPAT_H='"pat104.h"' \
          -DLOG_H='"log200.h"' \
          -DICU_H='"icu201.h"' \
          -DICN_H='"icn201.h"' \
          -DIAC_H='"iac201.h"' \
          -DMUT_H='"mut315.h"' \
          -DRDS_H='"rds203.h"' \
          -DRPR_H='"rpr203.h"' \
          -DRFM_H='"rfm203.h"' \
          -DRUT_H='"rut203.h"' \
          -DRWI_H='"rwi103.h"' \
          -DRTL_H='"rtl103.h"'

ALC_LIB = -L$(ALLIANCE_LIB) \
          -lRtl103 \
          -lRgs105 \
          -lRcf106 \
          -lRut203 \
          -lRfm203 \
          -lRpr203 \
          -lRds203 \
          -lRwi103 \
          -lMlu411 \
          -lMpu402 \
          -lMcp401 \
          -lMap402 \
          -lMmg401 \
          -lMcl408 \
          -lMph402 \
          -lMut315 








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      \
          vmcdefin.h      \
          vmctools.h

HEADERS1 = vmcerror.h      \
          drucompi.h      \
          drucompi.yac.tab.h         \
          drucutil.h      \
          vmctools.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      \
          vmcdefin.c      \
          vmctools.c	  \
          drucgral_test.c     

OBJ     = drucutil.o      \
          vmctools.o      \
          vmcerror.o      \
          druchier.o      \
          vmcunify.o      \
          vmcasmld.o      \
          vmcmesur.o      \
          vmcaract.o      \
          vmcrelat.o      \
          vmcdefin.o      \
          drucmin.o    

OBJ_LIB = $(OBJ)          \
          drucgral.o     

OBJ_TST = $(OBJ_LIB)      \
          drucgral_test.o     

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

OBJ_RGL = drucompi.yac.tab.o         \
          lex.yy.o        \
          drucutil.o      \
          vmctools.o      \
          vmcerror.o      \
          drucompi.o


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

distribregle : $(OBJ_RGL)
	$(CC) $(CFLAGS) $(OBJ_RGL) $(ALC_LIB) -lm -o  ../bin/drucompi
	@touch distribregle

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

distrib : $(OBJ_EXE)
	$(AR) $(ARFLAGS) ../lib/$(DRUC_LIB) $(OBJ_LIB)
	$(RANLIB) ../lib/$(DRUC_LIB) 
	$(CP) drucgral.h ../include/drc$(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
