# *************************************************************
#	d2c: Lambda-delta to C, code generation
# *************************************************************
#***********************************
# (C) Copyright 1992-1993; dit/upm
#  Distributed under the conditions stated in the
#  TOPO General Public License (see file LICENSE)
#***********************************
# $Id: makefile,v 2.12 1995/01/11 12:06:30 lotos Exp $
#***********************************

TOOL=	d2c
TRGT=	$(TRG_D2H) $(TRG_D2C) $(TRG_KAOS)
INST=	inst-d2h inst-d2c inst-kaos

INCDIRS= -I$(EPSINC) -I$(TOPOINC)
LIBDIRS= -L$(EPSLIB) -L$(TOPOLIB)
CFLAGS= $(CF_DBX) $(INCDIRS)
CLIBS= -ldtok -lalga

DESC=	$(DSC_CLNG)	$(DSC_D2H) $(DSC_D2C) $(DSC_KAOS)
HDRS=	$(HDR_CLNG)	$(HDR_D2H) $(HDR_D2C) $(HDR_KAOS)
CODE=			$(COD_D2H) $(COD_D2C) $(COD_KAOS)
OBJS=			$(OBJ_D2H) $(OBJ_D2C) $(OBJ_KAOS)

DSC_CLNG=	clng.desc
HDR_CLNG=	clng.hh

DSC_D2H=	d2h.desc
HDR_D2H=	d2h.hh
COD_D2H=	d2h.c
OBJ_D2H=	d2h.o
TRG_D2H=	d2h

DSC_D2C=	d2c.desc
HDR_D2C=	d2c.hh
COD_D2C=	d2c.c
OBJ_D2C=	d2c.o
TRG_D2C=	d2c

DSC_KAOS=	kaos.desc
HDR_KAOS=	kaos.hh	ocall.c
COD_KAOS=	kaos.c
OBJ_KAOS=	kaos.o
TRG_KAOS=	libkaos.a

all:	d2h d2c kaos

d2h:	$(OBJ_D2H)
	$(CC) $(CFLAGS) $(LIBDIRS) -o $@ $(OBJ_D2H) $(CLIBS)

D2H_HH=	$(TOPOINC)/dtok.hh $(HDR_CLNG) d2h.hh

d2h.o:	$(D2H_HH)

d2c:	$(OBJ_D2C)
	$(CC) $(CFLAGS) $(LIBDIRS) -o $@ $(OBJ_D2C) $(CLIBS)

D2C_HH=	$(TOPOINC)/dtok.hh $(HDR_CLNG) d2c.hh

d2c.o:	$(D2C_HH)

kaos:	$(TRG_KAOS)
	@true

libkaos.a:	$(OBJ_KAOS)
	ar rcv $@ $(OBJ_KAOS)
	-ranlib $@

kaos.o:	kaos.hh ocall.c

install:	$(INST)
	touch $@

inst-d2h:	d2h
	cp d2h $(TOPOBIN)
	chmod a+x $(TOPOBIN)/d2h
	touch $@

inst-d2c:	d2c
	cp d2c $(TOPOBIN)
	chmod a+x $(TOPOBIN)/d2c
	touch $@

inst-kaos::	kaos.hh
	cp kaos.hh $(TOPOINC)
	chmod a+r $(TOPOINC)/kaos.hh

inst-kaos::	libkaos.a
	cp libkaos.a $(TOPOLIB)
	-cd $(TOPOLIB); ranlib libkaos.a
	chmod a+r $(TOPOLIB)/libkaos.a

inst-kaos::	kaos.hh libkaos.a
	@if test -z "$(DIST)"; then set -v; touch $@; fi

clean::
	-rm -f $(TRGT)
	-rm -f $(OBJS)
	-rm -f $(INST)
	-rm -f *~ core

#------------------------------------------------------------------
