head	39.5;
access;
symbols
	V39_15:39.5
	V39_14:39.4
	V39_13:39.3
	V39_12:39.3
	V39_11:39.2
	V39_10:39.1
	c3910:39.1;
locks; strict;
comment	@# @;


39.5
date	95.11.26.18.57.44;	author StRuppert;	state Exp;
branches;
next	39.4;

39.4
date	95.09.02.20.44.17;	author StRuppert;	state Exp;
branches;
next	39.3;

39.3
date	95.07.25.13.08.00;	author StRuppert;	state Exp;
branches;
next	39.2;

39.2
date	95.07.09.14.40.08;	author StRuppert;	state Exp;
branches;
next	39.1;

39.1
date	95.05.10.15.33.03;	author StRuppert;	state Exp;
branches;
next	;


desc
@initial
@


39.5
log
@*** empty log	message	***
@
text
@#
# $PROJECT: c.datatype
#
# $VER: Makefile 39.3 (14.04.95)
#
# by
#
# Stefan Ruppert , Windthorststrasse 5 , 65439 Floersheim , GERMANY
#
# (C) Copyright 1995
# All Rights Reserved !
#
# $HISTORY:
#
# 14.04.95 : 039.003 : some little enhancements, now more work in sasc.mk
# 19.03.95 : 039.002 : changed to gnu make
# 06.03.95 : 039.001 : initial
#

NAME     = c.datatype
SHNAME   = cdt
REVFILE  = c_rev.i

OBJDIR   = /objs/cdt

LIBS     = $(OBJDIR)/$(NAME)
LIBSDEST = Sys:Classes/DataTypes

HEADER   = classbase.h

GPERFSRCS= cpp.gperf c.gperf cxx.gperf

GSRCS    = $(GPERFSRCS:%.gperf=$(OBJDIR)/%.gperf.c)
CSRCS    = classbase.c dispatch.c
ASRCS    = classinit.asm endcode.asm
YSRCS    = $(OBJDIR)/cdt.tab.c

SRCS     = $(ASRCS) $(CSRCS) $(GSRCS)
OBJS     = $(OBJDIR)/classinit.o \
			  $(CSRCS:%.c=$(OBJDIR)/%.o) $(YSRCS:%.c=%.o) $(GSRCS:%.c=%.o) \
			  $(OBJDIR)/endcode.o

GST      = /objs/$(SHNAME)/inc.gst
GSTINC   = system.h
GSTOPTS  = GST $(subst /objs/,objs:,$(GST))

FLUSHLIB = c:flushlib c.datatype

##############################################################################
#
# commands
#

YACC     = bison
MV       = mv
RM       = rm
CP       = cp

##############################################################################
#
# SAS definition
#

DEBUG      = DEBUG=LINE DEFINE=DEBUG DEFINE="YYDEBUG=1"
SCOPTS     = VERBOSE NOSTKCHK IDIR=$(subst /objs/,objs:,$(OBJDIR))
SLOPT      = NOICONS VERBOSE SMALLDATA SMALLCODE
SCOPTIMIZE = CPU=68040
LIB        = lib:amiga.lib lib:sc.lib lib:debug.lib

all: $(OBJDIR) $(GST) $(LIBS)

.PRECIOUS: %.gperf.c %.h

$(LIBS): $(OBJS)
	-sc:c/slink from $(patsubst /objs/%,objs:%,$^) to $(subst /objs/,objs:,$@@) $(SLOPT) LIB $(LIB)
	c:copy $(subst /objs/,objs:,$@@) $(LIBSDEST)
	$(FLUSHLIB)

include ../misc/sasc.mk

$(OBJDIR)/cdt.tab.c: cdt.y
	$(YACC) -v -d -b cdt -p cdtparse_ -o $(OBJDIR)/cdt.tab.c cdt.y

$(OBJDIR)/%.gperf.c : %.gperf
	$(GPERF) -T -t -p -c -a -k 1,$$ -N get_$*_keyword $^ \
				>$(subst /objs/,objs:,$(subst ..,,$(OBJDIR)/$*.gperf.c))

##############################################################################
#
# explicit dependencies
#

$(OBJDIR)/classinit.o: $(REVFILE)       # revision dependency

$(OBJS): $(HEADER)                      # header dependency

##############################################################################
#
# clean up
#

clean:
	$(RM) -R $(OBJDIR)/* *.tab.c $(PROTOS)

@


39.4
log
@*** empty log	message	***
@
text
@d8 1
a8 1
# Stefan Ruppert , Windthorststrae 5 , 65439 Flrsheim , GERMANY
a29 1
PROTOS   = protos.h
d31 3
d36 1
a36 3
YSRCS    = cdt.tab.c
SRCS     = $(ASRCS) $(CSRCS)
OBJ      = classinit.o $(CSRCS:%.c=%.o) $(YSRCS:%.c=%.o) endcode.o
d38 4
a41 1
OBJS     = $(patsubst %,$(OBJDIR)/%,$(OBJ))
d47 2
a54 1
SED      = sed
d65 1
a65 1
SCOPTS     = VERBOSE NOSTKCHK
d72 2
d75 1
a75 1
	sc:c/slink from $(patsubst /objs/%,objs:%,$^) to $(subst /objs/,objs:,$@@) $(SLOPT) LIB $(LIB)
d77 1
d81 6
a86 2
cdt.tab.c: cdt.y
	$(YACC) -b cdt -p cdtparse_ cdt.y
@


39.3
log
@*** empty log	message	***
@
text
@d69 1
a69 1
	slink from $(patsubst /objs/%,objs:%,$^) to $(subst /objs/,objs:,$@@) $(SLOPT) LIB $(LIB)
d92 1
a92 1
	$(RM) -R $(OBJDIR)/* *.tab.c
@


39.2
log
@*** empty log	message	***
@
text
@d40 2
a41 2
GST      = /objs/cdt/inc.gst
GSTINC   = classbase.h
d72 1
a72 1
include gnu:share/gmk/sasc.mk
d82 1
a82 1
$(OBJDIR)/classinit.ao: $(REVFILE)      # revision dependency
a92 1

@


39.1
log
@*** empty log	message	***
@
text
@d30 1
a30 1
PROTO    = protos.h
d32 1
a32 1
CSRCS    = classbase.c dispatch.c cdt.tab.c
d34 1
d36 1
a36 1
OBJ      = classinit.o $(CSRCS:%.c=%.o) endcode.o
d40 4
d66 1
a66 1
all: $(OBJDIR) $(LIBS)
a75 6
	$(SED) -e 's/yyparse()/yyparse(struct ClassBase \*cb,struct CParse \*cparse)/g' \
						  -e 's/int yyparse (void);/int yyparse(struct ClassBase \*cb,struct CParse \*cparse);/g' \
						  -e 's/yychar = YYLEX;/yychar = yylex(\&yylval,cb,cparse);/g' \
						  -e 's/yyerror("parse error");/cdtparse_parseerror(cb,cparse);/g' \
						  cdt.tab.c > tmp_sed
	$(MV) tmp_sed cdt.tab.c
@
