First milestone of replacing the build system.
--HG-- branch : dtrg-buildsystem rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
This commit is contained in:
parent
bcfb3d802f
commit
c1aca7dae5
84
Makefile
Normal file
84
Makefile
Normal file
|
@ -0,0 +1,84 @@
|
|||
BUILDDIR = /tmp/obj
|
||||
OBJDIR = $(BUILDDIR)/obj
|
||||
BINDIR = $(BUILDDIR)/bin
|
||||
LIBDIR = $(BUILDDIR)/lib
|
||||
INCDIR = $(BUILDDIR)/include
|
||||
INSDIR = $(BUILDDIR)/staging
|
||||
|
||||
PLATIND = $(INSDIR)/share/ack
|
||||
PLATDEP = $(INSDIR)/lib/ack
|
||||
|
||||
CC = gcc
|
||||
AR = ar
|
||||
RM = rm -f
|
||||
CP = cp
|
||||
|
||||
hide = @
|
||||
|
||||
CFLAGS = \
|
||||
-g \
|
||||
-I$(INCDIR) \
|
||||
-Imodules/h \
|
||||
-Ih
|
||||
|
||||
LDFLAGS =
|
||||
|
||||
all: installables
|
||||
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
include first/core.mk
|
||||
|
||||
include modules/src/object/build.mk
|
||||
include modules/src/alloc/build.mk
|
||||
include modules/src/input/build.mk
|
||||
include modules/src/idf/build.mk
|
||||
include modules/src/system/build.mk
|
||||
include modules/src/string/build.mk
|
||||
include modules/src/print/build.mk
|
||||
include modules/src/flt_arith/build.mk
|
||||
include modules/src/em_code/build.mk
|
||||
include modules/src/em_mes/build.mk
|
||||
|
||||
include util/amisc/build.mk
|
||||
include util/cmisc/build.mk
|
||||
include util/ack/build.mk
|
||||
include util/LLgen/build.mk
|
||||
include util/data/build.mk
|
||||
include util/opt/build.mk
|
||||
include util/ncgg/build.mk
|
||||
include util/arch/build.mk
|
||||
|
||||
include lang/cem/build.mk
|
||||
|
||||
include mach/proto/as/build.mk
|
||||
include mach/proto/ncg/build.mk
|
||||
|
||||
include plat/build.mk
|
||||
include plat/pc86/build.mk
|
||||
include plat/cpm/build.mk
|
||||
|
||||
.PHONY: installables
|
||||
installables: $(INSTALLABLES)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@echo CLEAN
|
||||
$(hide) $(RM) $(CLEANABLES)
|
||||
|
||||
$(INCDIR)/local.h:
|
||||
@echo LOCAL
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) echo '#define VERSION 3' > $@
|
||||
$(hide) echo '#define ACKM "pc86"' >> $@
|
||||
$(hide) echo '#define BIGMACHINE 1' >> $@
|
||||
$(hide) echo '#define SYS_5' >> $@
|
||||
|
||||
$(INCDIR)/em_path.h:
|
||||
@echo EM_PATH
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) echo '#define TMP_DIR "/tmp"' > $@
|
||||
$(hide) echo '#define EM_DIR "/tmp/obj/staging"' >> $@
|
||||
$(hide) echo '#define ACK_PATH "share/ack/descr"' >> $@
|
||||
|
||||
-include $(DEPENDS)
|
199
first/core.mk
Normal file
199
first/core.mk
Normal file
|
@ -0,0 +1,199 @@
|
|||
define reset
|
||||
$(eval q :=)
|
||||
$(eval o :=)
|
||||
$(eval s :=)
|
||||
$(eval cflags :=)
|
||||
$(eval ldflags :=)
|
||||
$(eval objdir :=)
|
||||
endef
|
||||
|
||||
# --- Host compiler
|
||||
|
||||
define cfile-rule
|
||||
$o: $s
|
||||
@echo CC $o
|
||||
@mkdir -p $(dir $o)
|
||||
@$(CC) $(CFLAGS) $(cflags) -MM -MQ $d -o $d $s
|
||||
$(hide) $(CC) $(CFLAGS) $(cflags) -c -o $o $s
|
||||
endef
|
||||
|
||||
define cfile
|
||||
$(eval s := $1)
|
||||
$(eval o := $(OBJDIR)/$(objdir)/$(1:.c=.o))
|
||||
$(eval d := $(OBJDIR)/$(objdir)/$(1:.c=.d))
|
||||
$(eval DEPENDS += $d)
|
||||
$(eval CLEANABLES += $o $d)
|
||||
$(eval q += $o)
|
||||
$(eval $(cfile-rule))
|
||||
endef
|
||||
|
||||
# --- ACK compiler
|
||||
|
||||
define ackfile-rule
|
||||
$o: $s $(ACK) \
|
||||
$(PLATIND)/descr/$(PLATFORM) \
|
||||
$(PLATDEP)/$(PLATFORM)/as \
|
||||
$(CCOMPILER) \
|
||||
$(PLATFORM_$(PLATFORM))
|
||||
@echo ACK $o
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) ACKDIR=$(INSDIR) $(ACK) $(ACKFLAGS) $(ackflags) -m$(PLATFORM) -c -o $o $s
|
||||
endef
|
||||
|
||||
define ackfile
|
||||
$(eval s := $1)
|
||||
$(eval o := $(OBJDIR)/$(basename $1).o)
|
||||
$(eval d := $(OBJDIR)/$(basename $1).d)
|
||||
$(eval DEPENDS += $d)
|
||||
$(eval CLEANABLES += $o $d)
|
||||
$(eval q += $o)
|
||||
$(eval $(ackfile-rule))
|
||||
endef
|
||||
|
||||
# --- Add a raw to the queue
|
||||
|
||||
define file
|
||||
$(eval q += $1)
|
||||
endef
|
||||
|
||||
# --- Host compiler linking
|
||||
|
||||
define cprogram-rule
|
||||
$o: $s
|
||||
@echo CPROGRAM $o
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) $(CC) $(CFLAGS) $(cflags) $(LDFLAGS) $(ldflags) -o $o $s
|
||||
endef
|
||||
|
||||
define cprogram
|
||||
$(eval o := $1)
|
||||
$(eval s := $q)
|
||||
$(eval CLEANABLES += $o)
|
||||
$(eval q := $o)
|
||||
$(eval $(cprogram-rule))
|
||||
endef
|
||||
|
||||
# --- Host library linking
|
||||
|
||||
define clibrary-rule
|
||||
$o: $s
|
||||
@echo CLIBRARY $o
|
||||
@mkdir -p $(dir $o)
|
||||
@$(RM) $o
|
||||
$(hide) $(AR) qsc $o $s
|
||||
endef
|
||||
|
||||
define clibrary
|
||||
$(eval o := $1)
|
||||
$(eval s := $q)
|
||||
$(eval CLEANABLES += $o)
|
||||
$(eval q := $o)
|
||||
$(eval $(clibrary-rule))
|
||||
endef
|
||||
|
||||
# --- ACK library linking
|
||||
|
||||
define acklibrary-rule
|
||||
$o: $s $(ACKAR)
|
||||
@echo ACKLIBRARY $o
|
||||
@mkdir -p $(dir $o)
|
||||
@$(RM) $o
|
||||
$(hide) $(AAL) q $o $s
|
||||
endef
|
||||
|
||||
define acklibrary
|
||||
$(eval o := $1)
|
||||
$(eval s := $q)
|
||||
$(eval CLEANABLES += $o)
|
||||
$(eval q := $o)
|
||||
$(eval $(acklibrary-rule))
|
||||
endef
|
||||
|
||||
# --- Copies a file.
|
||||
|
||||
define copyto-rule
|
||||
$o: $s
|
||||
@echo CP $o
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) $(CP) $s $o
|
||||
endef
|
||||
|
||||
define copyto
|
||||
$(eval o := $1)
|
||||
$(eval s := $q)
|
||||
$(eval CLEANABLES += $o)
|
||||
$(eval q := $o)
|
||||
$(eval $(copyto-rule))
|
||||
endef
|
||||
|
||||
# --- Installs a file (copies it and adds it to INSTALLABLES).
|
||||
|
||||
define installto-rule
|
||||
$o: $s
|
||||
@echo INSTALL $o
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) $(CP) $s $o
|
||||
endef
|
||||
|
||||
define installto
|
||||
$(eval o := $1)
|
||||
$(eval s := $q)
|
||||
$(eval CLEANABLES += $o)
|
||||
$(eval INSTALLABLES += $o)
|
||||
$(eval q := $o)
|
||||
$(eval $(installto-rule))
|
||||
endef
|
||||
|
||||
# --- Adds a dependency for the last object file
|
||||
|
||||
define dependson
|
||||
$(eval $o: $1)
|
||||
endef
|
||||
|
||||
# --- Runs yacc.
|
||||
|
||||
# $1: directory to put output files
|
||||
# $2: input files
|
||||
#
|
||||
# Output files are compiled via cfile and queued.
|
||||
|
||||
define yacc-impl
|
||||
$(eval o := $1/y.tab.c)
|
||||
$(eval CLEANABLES += $o $1/y.tab.h)
|
||||
|
||||
$o: $2
|
||||
@echo YACC $o
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) yacc -t -b $1/y -d $2
|
||||
|
||||
$(call cfile, $o)
|
||||
|
||||
$1/y.tab.h: $o
|
||||
|
||||
endef
|
||||
|
||||
yacc = $(eval $(call yacc-impl,$1,$2))
|
||||
|
||||
# --- Runs flex.
|
||||
|
||||
# $1: directory to put output files
|
||||
# $2: input files
|
||||
#
|
||||
# Output files are compiled via cfile and queued.
|
||||
|
||||
define flex-impl
|
||||
|
||||
$(eval o := $1/lex.yy.c)
|
||||
$(eval CLEANABLES += $o)
|
||||
|
||||
$o: $2
|
||||
@echo FLEX $o
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) flex -s -t $2 > $o
|
||||
|
||||
$(call cfile, $o)
|
||||
|
||||
endef
|
||||
|
||||
flex = $(eval $(call flex-impl,$1,$2))
|
||||
|
6
lang/cem/build.mk
Normal file
6
lang/cem/build.mk
Normal file
|
@ -0,0 +1,6 @@
|
|||
include lang/cem/cpp.ansi/build.mk
|
||||
include lang/cem/cemcom.ansi/build.mk
|
||||
include lang/cem/libcc.ansi/build.mk
|
||||
|
||||
$(eval CCOMPILER := $(CPPANSI) $(CEMCOMANSI) $(LIBCCANSIHEADERS))
|
||||
|
|
@ -5,13 +5,8 @@
|
|||
/* $Id$ */
|
||||
/* L E X I C A L A N A L Y Z E R */
|
||||
|
||||
#include "debug.h"
|
||||
#include "lint.h"
|
||||
#include <alloc.h>
|
||||
#include "idfsize.h"
|
||||
#include "numsize.h"
|
||||
#include "strsize.h"
|
||||
#include "nopp.h"
|
||||
#include "parameters.h"
|
||||
#include "input.h"
|
||||
#include "arith.h"
|
||||
#include "def.h"
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
*/
|
||||
|
||||
#include "file_info.h"
|
||||
#include "nopp.h"
|
||||
|
||||
/* the structure of a token: */
|
||||
struct token {
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
/* PARSER ERROR ADMINISTRATION */
|
||||
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "Lpars.h"
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* A L I G N M E N T D E F I N I T I O N S */
|
||||
|
||||
#include "nocross.h"
|
||||
#include "trgt_sizes.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifndef NOCROSS
|
||||
extern int
|
||||
|
|
|
@ -11,11 +11,8 @@
|
|||
semantics of C is a mess.
|
||||
*/
|
||||
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "debug.h"
|
||||
#include "lint.h"
|
||||
#include "nobitfield.h"
|
||||
#include "idf.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "sizes.h"
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
be handy.
|
||||
*/
|
||||
|
||||
#include "spec_arith.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifndef SPECIAL_ARITHMETICS
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||||
|
||||
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
@ -10,7 +11,8 @@
|
|||
there is no reasonable method to prove that a program is 100%
|
||||
correct, these assertions are needed in some places.
|
||||
*/
|
||||
#include "debug.h" /* UF */
|
||||
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
/* Note: this macro uses parameter substitution inside strings */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* B L O C K S T O R I N G A N D L O A D I N G */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
|
||||
#include <em.h>
|
||||
|
|
156
lang/cem/cemcom.ansi/build.mk
Normal file
156
lang/cem/cemcom.ansi/build.mk
Normal file
|
@ -0,0 +1,156 @@
|
|||
D := lang/cem/cemcom.ansi
|
||||
|
||||
define build-cemcom-ansi-allocd-header
|
||||
$(eval g := $(OBJDIR)/$D/$(strip $1).h)
|
||||
$g: $D/$(strip $1).str $D/make.allocd
|
||||
@echo ALLOCD $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) $D/make.allocd < $$^ > $$@
|
||||
|
||||
$(eval CLEANABLES += $g)
|
||||
$(eval $q: $g)
|
||||
endef
|
||||
|
||||
define build-cemcom-ansi-next
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/next.c)
|
||||
$(OBJDIR)/$D/next.c: $D/make.next $1
|
||||
@echo NEXT $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) $$^ > $$@
|
||||
$(call cfile, $(OBJDIR)/$D/next.c)
|
||||
|
||||
$(foreach f, $1, $(call build-cemcom-ansi-allocd-header, \
|
||||
$(basename $(notdir $f))))
|
||||
endef
|
||||
|
||||
define build-cemcom-ansi-impl
|
||||
|
||||
$(call reset)
|
||||
$(eval cflags += -I$(OBJDIR)/$D -I$D)
|
||||
|
||||
$(call cfile, $D/arith.c)
|
||||
$(call dependson, $(INCDIR)/flt_arith.h)
|
||||
|
||||
$(call cfile, $D/blocks.c)
|
||||
$(call dependson, $(INCDIR)/em_codeEK.h)
|
||||
|
||||
$(call cfile, $D/LLlex.c)
|
||||
$(call cfile, $D/LLmessage.c)
|
||||
|
||||
$(call cfile, $D/ch3.c)
|
||||
$(call cfile, $D/ch3bin.c)
|
||||
$(call cfile, $D/ch3mon.c)
|
||||
$(call cfile, $D/code.c)
|
||||
$(call cfile, $D/conversion.c)
|
||||
$(call cfile, $D/cstoper.c)
|
||||
$(call cfile, $D/dataflow.c)
|
||||
$(call cfile, $D/declarator.c)
|
||||
$(call cfile, $D/decspecs.c)
|
||||
$(call cfile, $D/domacro.c)
|
||||
$(call cfile, $D/dumpidf.c)
|
||||
$(call cfile, $D/error.c)
|
||||
$(call cfile, $D/eval.c)
|
||||
$(call cfile, $D/expr.c)
|
||||
$(call cfile, $D/field.c)
|
||||
$(call cfile, $D/fltcstoper.c)
|
||||
$(call cfile, $D/idf.c)
|
||||
$(call cfile, $D/init.c)
|
||||
$(call cfile, $D/input.c)
|
||||
$(call cfile, $D/l_comment.c)
|
||||
$(call cfile, $D/l_ev_ord.c)
|
||||
$(call cfile, $D/l_lint.c)
|
||||
$(call cfile, $D/l_misc.c)
|
||||
$(call cfile, $D/l_outdef.c)
|
||||
$(call cfile, $D/l_states.c)
|
||||
$(call cfile, $D/label.c)
|
||||
$(call cfile, $D/main.c)
|
||||
$(call cfile, $D/options.c)
|
||||
$(call cfile, $D/pragma.c)
|
||||
$(call cfile, $D/proto.c)
|
||||
$(call cfile, $D/replace.c)
|
||||
$(call cfile, $D/skip.c)
|
||||
$(call cfile, $D/stab.c)
|
||||
$(call cfile, $D/stack.c)
|
||||
$(call cfile, $D/struct.c)
|
||||
$(call cfile, $D/switch.c)
|
||||
$(call cfile, $D/tokenname.c)
|
||||
$(call cfile, $D/type.c)
|
||||
$(call cfile, $D/util.c)
|
||||
|
||||
$(call llgen, $(OBJDIR)/$D, \
|
||||
$(OBJDIR)/$D/tokenfile.g \
|
||||
$D/program.g \
|
||||
$D/declar.g \
|
||||
$D/expression.g \
|
||||
$D/statement.g \
|
||||
$D/ival.g)
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/tokenfile.g)
|
||||
$(OBJDIR)/$D/tokenfile.g: $D/make.tokfile $D/tokenname.c
|
||||
@echo TOKENFILE $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) sh $D/make.tokfile < $D/tokenname.c > $$@
|
||||
|
||||
$(call tabgen, $D/char.tab)
|
||||
|
||||
$(eval $q: $(OBJDIR)/$D/parameters.h)
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/parameters.h)
|
||||
$(OBJDIR)/$D/parameters.h: $D/BigPars
|
||||
@echo PARAMETERS $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) echo '#ifndef PARAMETERS_H' > $$@
|
||||
$(hide) echo '#define PARAMETERS_H' >> $$@
|
||||
$(hide) grep -v '^!' < $D/BigPars >> $$@
|
||||
$(hide) echo '#endif' >> $$@
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/symbol2str.c)
|
||||
$(OBJDIR)/$D/symbol2str.c: $D/make.tokcase $D/tokenname.c
|
||||
@echo TOKCASE $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) $D/make.tokcase < $D/tokenname.c > $$@
|
||||
$(call cfile, $(OBJDIR)/$D/symbol2str.c)
|
||||
|
||||
$(call build-cemcom-ansi-next, \
|
||||
$D/code.str \
|
||||
$D/declar.str \
|
||||
$D/def.str \
|
||||
$D/expr.str \
|
||||
$D/field.str \
|
||||
$D/estack.str \
|
||||
$D/util.str \
|
||||
$D/proto.str \
|
||||
$D/replace.str \
|
||||
$D/idf.str \
|
||||
$D/macro.str \
|
||||
$D/stack.str \
|
||||
$D/stmt.str \
|
||||
$D/struct.str \
|
||||
$D/switch.str \
|
||||
$D/type.str \
|
||||
$D/l_brace.str \
|
||||
$D/l_state.str \
|
||||
$D/l_outdef.str)
|
||||
|
||||
$(eval $q: $(OBJDIR)/$D/Lpars.h)
|
||||
|
||||
$(call file, $(LIBEM_MES))
|
||||
$(call file, $(LIBEMK))
|
||||
$(call file, $(LIBEM_DATA))
|
||||
$(call file, $(LIBINPUT))
|
||||
$(call file, $(LIBASSERT))
|
||||
$(call file, $(LIBALLOC))
|
||||
$(call file, $(LIBFLT_ARITH))
|
||||
$(call file, $(LIBPRINT))
|
||||
$(call file, $(LIBSYSTEM))
|
||||
$(call file, $(LIBSTRING))
|
||||
$(call cprogram, $(BINDIR)/cemcom.ansi)
|
||||
$(call installto, $(PLATDEP)/em_cemcom.ansi)
|
||||
$(eval CEMCOMANSI := $o)
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/cemcom.1)
|
||||
$(call installto, $(INSDIR)/share/man/man1/cemcom.6)
|
||||
endef
|
||||
|
||||
$(eval $(build-cemcom-ansi-impl))
|
|
@ -5,12 +5,10 @@
|
|||
/* $Id$ */
|
||||
/* S E M A N T I C A N A L Y S I S -- C H A P T E R 3.3 */
|
||||
|
||||
#include "debug.h"
|
||||
#include "lint.h"
|
||||
#include "nobitfield.h"
|
||||
#include "idf.h"
|
||||
#include "parameters.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "idf.h"
|
||||
#include "proto.h"
|
||||
#include "type.h"
|
||||
#include "struct.h"
|
||||
|
|
|
@ -5,11 +5,8 @@
|
|||
/* $Id$ */
|
||||
/* SEMANTIC ANALYSIS (CHAPTER 3.3) -- BINARY OPERATORS */
|
||||
|
||||
#include "botch_free.h"
|
||||
#include "debug.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "lint.h"
|
||||
#include "idf.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
|
|
|
@ -5,17 +5,15 @@
|
|||
/* $Id$ */
|
||||
/* SEMANTIC ANALYSIS (CHAPTER 3.3) -- MONADIC OPERATORS */
|
||||
|
||||
#include "botch_free.h"
|
||||
#include "debug.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "nobitfield.h"
|
||||
#include "Lpars.h"
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
#include "label.h"
|
||||
#include "expr.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "sizes.h"
|
||||
|
||||
|
|
|
@ -7,23 +7,18 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "lint.h"
|
||||
#include "debug.h"
|
||||
#include "dbsymtab.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
#include <em.h>
|
||||
#else
|
||||
#include "l_em.h"
|
||||
#include "l_lint.h"
|
||||
#endif /* LINT */
|
||||
#include "botch_free.h"
|
||||
#include <alloc.h>
|
||||
#include "dataflow.h"
|
||||
#include "use_tmp.h"
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "code.h"
|
||||
#include "stmt.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* C O N V E R S I O N - C O D E G E N E R A T O R */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
|
||||
#include <em.h>
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* C O N S T A N T E X P R E S S I O N H A N D L I N G */
|
||||
|
||||
#include "trgt_sizes.h"
|
||||
#include "idf.h"
|
||||
#include "parameters.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
Use the compiler option --d.
|
||||
*/
|
||||
|
||||
#include "dataflow.h" /* UF */
|
||||
#include "parameters.h" /* UF */
|
||||
|
||||
#ifdef DATAFLOW
|
||||
char *CurrentFunction = 0;
|
||||
|
|
|
@ -6,17 +6,14 @@
|
|||
/* DECLARATION SYNTAX PARSER */
|
||||
|
||||
{
|
||||
#include "lint.h"
|
||||
#include "dbsymtab.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "nobitfield.h"
|
||||
#include "debug.h"
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "label.h"
|
||||
#include "code.h"
|
||||
#include "idf.h"
|
||||
#include "type.h"
|
||||
#include "proto.h"
|
||||
#include "struct.h"
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* D E C L A R A T O R M A N I P U L A T I O N */
|
||||
|
||||
#include "debug.h"
|
||||
#include "botch_free.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
|
@ -15,7 +14,6 @@
|
|||
#include "Lpars.h"
|
||||
#include "declar.h"
|
||||
#include "def.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "expr.h"
|
||||
#include "sizes.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* IDENTIFIER DEFINITION DESCRIPTOR */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
|
||||
struct def { /* for ordinary tags */
|
||||
struct def *next;
|
||||
|
|
|
@ -5,29 +5,20 @@
|
|||
/* $Id$ */
|
||||
/* PREPROCESSOR: CONTROLLINE INTERPRETER */
|
||||
|
||||
#include "debug.h"
|
||||
#include <stdlib.h>
|
||||
#include "parameters.h"
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "Lpars.h"
|
||||
#include "idf.h"
|
||||
#include "input.h"
|
||||
#include "nopp.h"
|
||||
#include "lint.h"
|
||||
#include "replace.h"
|
||||
|
||||
#ifndef NOPP
|
||||
#include "ifdepth.h"
|
||||
#include "botch_free.h"
|
||||
#include "nparams.h"
|
||||
#include "parbufsize.h"
|
||||
#include "textsize.h"
|
||||
#include "idfsize.h"
|
||||
#include "assert.h"
|
||||
#include <alloc.h>
|
||||
#include "class.h"
|
||||
#include "macro.h"
|
||||
#include "macbuf.h"
|
||||
#include "replace.h"
|
||||
#include "dbsymtab.h"
|
||||
#ifdef DBSYMTAB
|
||||
#include <stb.h>
|
||||
#include <em.h>
|
||||
|
|
|
@ -5,16 +5,13 @@
|
|||
/* $Id$ */
|
||||
/* DUMP ROUTINES */
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "nopp.h"
|
||||
#include "nobitfield.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "stack.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "type.h"
|
||||
#include "proto.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* E R R O R A N D D I A G N O S T I C R O U T I N E S */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#if __STDC__
|
||||
#include <stdarg.h>
|
||||
#else
|
||||
|
@ -18,11 +18,6 @@
|
|||
#include "l_em.h"
|
||||
#endif /* LINT */
|
||||
|
||||
#include "debug.h"
|
||||
#include "lint.h"
|
||||
#include "nopp.h"
|
||||
#include "errout.h"
|
||||
|
||||
#include "tokenname.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
|
|
|
@ -5,19 +5,16 @@
|
|||
/* $Id$ */
|
||||
/* EXPRESSION-CODE GENERATOR */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
|
||||
#include <em.h>
|
||||
#include <em_reg.h>
|
||||
#include <alloc.h>
|
||||
#include "debug.h"
|
||||
#include "nobitfield.h"
|
||||
#include "dataflow.h"
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "code.h"
|
||||
#include "assert.h"
|
||||
|
@ -41,7 +38,7 @@ arith NewLocal(); /* util.c */
|
|||
extern int err_occurred; /* error.c */
|
||||
|
||||
/* EVAL() is the main expression-tree evaluator, which turns
|
||||
any legal expression tree into EM code. Parameters:
|
||||
any legal expression tree into EM code. parameters.h:
|
||||
|
||||
struct expr *expr
|
||||
pointer to root of the expression tree to be evaluated
|
||||
|
|
|
@ -5,13 +5,12 @@
|
|||
/* $Id$ */
|
||||
/* EXPRESSION TREE HANDLING */
|
||||
|
||||
#include "lint.h"
|
||||
#include "debug.h"
|
||||
#include <stdlib.h>
|
||||
#include "parameters.h"
|
||||
#include "assert.h"
|
||||
#include "botch_free.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "def.h"
|
||||
#include "type.h"
|
||||
|
@ -23,7 +22,6 @@
|
|||
#include "declar.h"
|
||||
#include "sizes.h"
|
||||
#include "level.h"
|
||||
#include "use_tmp.h"
|
||||
|
||||
extern char *symbol2str();
|
||||
extern char options[];
|
||||
|
|
|
@ -7,13 +7,11 @@
|
|||
|
||||
{
|
||||
#include <alloc.h>
|
||||
#include "lint.h"
|
||||
#include "debug.h"
|
||||
#include "parameters.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "expr.h"
|
||||
#include "code.h"
|
||||
|
|
|
@ -5,19 +5,16 @@
|
|||
/* $Id$ */
|
||||
/* BITFIELD EXPRESSION EVALUATOR */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
|
||||
#include "nobitfield.h"
|
||||
|
||||
#ifndef NOBITFIELD
|
||||
#include <em.h>
|
||||
#include <em_reg.h>
|
||||
#include "debug.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "code.h"
|
||||
#include "assert.h"
|
||||
|
|
|
@ -6,11 +6,9 @@
|
|||
/* C O N S T A N T E X P R E S S I O N H A N D L I N G */
|
||||
/* F O R F L O A T I N G P O I N T N U M B E R S */
|
||||
|
||||
#include "debug.h"
|
||||
#include "parameters.h"
|
||||
#include "assert.h"
|
||||
#include <alloc.h>
|
||||
#include "trgt_sizes.h"
|
||||
#include "idf.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
|
|
|
@ -7,20 +7,15 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#include <em_reg.h>
|
||||
#include "debug.h"
|
||||
#include "idfsize.h"
|
||||
#include "botch_free.h"
|
||||
#include "nopp.h"
|
||||
#include "nparams.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "align.h"
|
||||
#include "LLlex.h"
|
||||
#include "level.h"
|
||||
#include "stack.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "def.h"
|
||||
#include "type.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* IDENTIFIER DESCRIPTOR */
|
||||
|
||||
#include "nopp.h"
|
||||
#include "parameters.h"
|
||||
|
||||
struct id_u {
|
||||
#ifndef NOPP
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "nopp.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifndef NOPP
|
||||
#include <system.h>
|
||||
#include <alloc.h>
|
||||
#include <time.h>
|
||||
#include "idf.h"
|
||||
#include "class.h"
|
||||
#include "macro.h"
|
||||
#include "idf.h"
|
||||
|
||||
extern char *sprint();
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#include "parameters.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "inputtype.h"
|
||||
#include "file_info.h"
|
||||
#include "input.h"
|
||||
|
||||
|
@ -15,12 +15,9 @@
|
|||
#define INP_TYPE struct file_info
|
||||
#define INP_VAR finfo
|
||||
struct file_info finfo;
|
||||
#include "nopp.h"
|
||||
#include <inp_pkg.body>
|
||||
#include <alloc.h>
|
||||
|
||||
#include "dbsymtab.h"
|
||||
#include "lint.h"
|
||||
#ifndef NOPP
|
||||
#ifdef DBSYMTAB
|
||||
#include <stb.h>
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
/* CODE FOR THE INITIALISATION OF GLOBAL VARIABLES */
|
||||
|
||||
{
|
||||
#include "lint.h"
|
||||
#include <stdlib.h>
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
#include <em.h>
|
||||
#else
|
||||
#include "l_em.h"
|
||||
#include "l_lint.h"
|
||||
#endif /* LINT */
|
||||
#include "debug.h"
|
||||
#include <alloc.h>
|
||||
#include <assert.h>
|
||||
#include "nobitfield.h"
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "label.h"
|
||||
#include "expr.h"
|
||||
|
@ -29,11 +29,11 @@
|
|||
#include "Lpars.h"
|
||||
#include "sizes.h"
|
||||
#include "align.h"
|
||||
#include "idf.h"
|
||||
#include "level.h"
|
||||
#include "def.h"
|
||||
#include "LLlex.h"
|
||||
#include "estack.h"
|
||||
#include "stack.h"
|
||||
|
||||
#define con_nullbyte() C_con_ucon("0", (arith)1)
|
||||
#define aggregate_type(tp) ((tp)->tp_fund == ARRAY || (tp)->tp_fund == STRUCT)
|
||||
|
|
|
@ -5,10 +5,9 @@
|
|||
/* $Id$ */
|
||||
/* Lint-specific comment handling */
|
||||
|
||||
#include "parameters.h"
|
||||
#include <ctype.h>
|
||||
|
||||
#include "lint.h"
|
||||
|
||||
#ifdef LINT
|
||||
|
||||
#include <alloc.h>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* Lint evaluation order checking */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef LINT
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
|||
#include "arith.h" /* definition arith */
|
||||
#include "label.h" /* definition label */
|
||||
#include "expr.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "code.h" /* RVAL etc */
|
||||
#include "LLlex.h"
|
||||
|
|
|
@ -5,12 +5,11 @@
|
|||
/* $Id$ */
|
||||
/* Lint main routines */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef LINT
|
||||
|
||||
#include <alloc.h> /* for st_free */
|
||||
#include "debug.h"
|
||||
#include "interface.h"
|
||||
#include "assert.h"
|
||||
#ifdef ANSI
|
||||
|
@ -19,7 +18,6 @@
|
|||
#include "arith.h" /* definition arith */
|
||||
#include "label.h" /* definition label */
|
||||
#include "expr.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "code.h" /* RVAL etc */
|
||||
#include "LLlex.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* Lint miscellaneous routines */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef LINT
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
|||
#include "arith.h" /* definition arith */
|
||||
#include "label.h" /* definition label */
|
||||
#include "expr.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "code.h" /* RVAL etc */
|
||||
#include "LLlex.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* Lint outdef construction */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef LINT
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "def.h"
|
||||
#include "struct.h"
|
||||
#include "field.h"
|
||||
#include "idf.h"
|
||||
#include "level.h"
|
||||
#include "label.h"
|
||||
#include "code.h"
|
||||
|
|
|
@ -5,21 +5,19 @@
|
|||
/* $Id$ */
|
||||
/* Lint status checking */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef LINT
|
||||
|
||||
#include <alloc.h> /* for st_free */
|
||||
#include "interface.h"
|
||||
#include "assert.h"
|
||||
#include "debug.h"
|
||||
#ifdef ANSI
|
||||
#include <flt_arith.h>
|
||||
#endif /* ANSI */
|
||||
#include "arith.h"
|
||||
#include "label.h"
|
||||
#include "expr.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "code.h" /* RVAL etc */
|
||||
#include "LLlex.h"
|
||||
|
|
|
@ -5,9 +5,10 @@
|
|||
/* $Id$ */
|
||||
/* L A B E L H A N D L I N G */
|
||||
|
||||
#include "parameters.h"
|
||||
#include "idf.h"
|
||||
#include "Lpars.h"
|
||||
#include "level.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "arith.h"
|
||||
#include "def.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* PREPROCESSOR: DEFINITION OF MACRO DESCRIPTOR */
|
||||
|
||||
#include "nopp.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifndef NOPP
|
||||
/* The flags of the mc_flag field of the macro structure. Note that
|
||||
|
|
|
@ -5,16 +5,11 @@
|
|||
/* $Id$ */
|
||||
/* MAIN PROGRAM */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#include <system.h>
|
||||
#include "debug.h"
|
||||
#include "nopp.h"
|
||||
#include "trgt_sizes.h"
|
||||
#include "use_tmp.h"
|
||||
#include "inputtype.h"
|
||||
#include "idf.h"
|
||||
#include "input.h"
|
||||
#include "level.h"
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
#include "proto.h"
|
||||
|
@ -24,7 +19,6 @@
|
|||
#include "LLlex.h"
|
||||
#include <alloc.h>
|
||||
#include "specials.h"
|
||||
#include "nocross.h"
|
||||
#include "sizes.h"
|
||||
#include "align.h"
|
||||
#include "macro.h"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo '#include "debug.h"'
|
||||
echo '#include "parameters.h"'
|
||||
sed -n '
|
||||
s:^.*ALLOCDEF.*"\(.*\)".*$:struct \1 *h_\1 = 0;\
|
||||
#ifdef DEBUG\
|
||||
|
|
|
@ -5,23 +5,15 @@
|
|||
/* $Id$ */
|
||||
/* U S E R O P T I O N - H A N D L I N G */
|
||||
|
||||
#include "parameters.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "lint.h"
|
||||
#include "botch_free.h"
|
||||
#include <alloc.h>
|
||||
#include "nopp.h"
|
||||
#include "idfsize.h"
|
||||
#include "nobitfield.h"
|
||||
#include "class.h"
|
||||
#include "macro.h"
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "sizes.h"
|
||||
#include "align.h"
|
||||
#include "use_tmp.h"
|
||||
#include "dataflow.h"
|
||||
#include "dbsymtab.h"
|
||||
|
||||
#ifndef NOPP
|
||||
extern char **inctable;
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* PREPROCESSOR: PRAGMA INTERPRETER */
|
||||
|
||||
#include "debug.h"
|
||||
#include "idf.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#define P_UNKNOWN 0
|
||||
#define NR_PRAGMAS 0
|
||||
|
|
|
@ -45,13 +45,10 @@
|
|||
%start If_expr, control_if_expression;
|
||||
|
||||
{
|
||||
#include "lint.h"
|
||||
#include "nopp.h"
|
||||
#include "debug.h"
|
||||
#include "parameters.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "type.h"
|
||||
#include "declar.h"
|
||||
|
@ -59,6 +56,7 @@
|
|||
#include "code.h"
|
||||
#include "expr.h"
|
||||
#include "def.h"
|
||||
#include "stack.h"
|
||||
#ifdef LINT
|
||||
#include "l_lint.h"
|
||||
#endif /* LINT */
|
||||
|
|
|
@ -5,19 +5,15 @@
|
|||
/* $Id$ */
|
||||
/* P R O T O T Y P E F I D D L I N G */
|
||||
|
||||
#include "lint.h"
|
||||
#include "debug.h"
|
||||
#include "idfsize.h"
|
||||
#include "nparams.h"
|
||||
#include "botch_free.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "Lpars.h"
|
||||
#include "level.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
#include "align.h"
|
||||
#include "stack.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "type.h"
|
||||
#include "struct.h"
|
||||
|
|
|
@ -7,26 +7,18 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "nopp.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifndef NOPP
|
||||
|
||||
#include "debug.h"
|
||||
#include "pathlength.h"
|
||||
#include "strsize.h"
|
||||
#include "nparams.h"
|
||||
#include "idfsize.h"
|
||||
#include "numsize.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "idf.h"
|
||||
#include "input.h"
|
||||
#include "macro.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "class.h"
|
||||
#include "assert.h"
|
||||
#include "static.h"
|
||||
#include "macbuf.h"
|
||||
#include "replace.h"
|
||||
|
||||
extern struct idf *GetIdentifier();
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* VARIOUS TARGET MACHINE SIZE DESCRIPTORS */
|
||||
|
||||
#include "nocross.h"
|
||||
#include "trgt_sizes.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifndef NOCROSS
|
||||
extern arith
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* PREPROCESSOR: INPUT SKIP FUNCTIONS */
|
||||
|
||||
#include "nopp.h"
|
||||
#include "parameters.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "class.h"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
/* $Id$ */
|
||||
|
||||
#include "dbsymtab.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#ifdef DBSYMTAB
|
||||
|
||||
|
@ -20,13 +20,13 @@
|
|||
#include <flt_arith.h>
|
||||
#include <stb.h>
|
||||
|
||||
#include "idf.h"
|
||||
#include "LLlex.h"
|
||||
#include "stack.h"
|
||||
#include "def.h"
|
||||
#include "type.h"
|
||||
#include "struct.h"
|
||||
#include "field.h"
|
||||
#include "idf.h"
|
||||
#include "Lpars.h"
|
||||
#include "level.h"
|
||||
|
||||
|
|
|
@ -5,21 +5,19 @@
|
|||
/* $Id$ */
|
||||
/* S T A C K / U N S T A C K R O U T I N E S */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#include <system.h>
|
||||
#ifndef LINT
|
||||
#include <em.h>
|
||||
#else
|
||||
#include "l_em.h"
|
||||
#endif /* LINT */
|
||||
#include "debug.h"
|
||||
#include "botch_free.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "Lpars.h"
|
||||
#include "arith.h"
|
||||
#include "stack.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "struct.h"
|
||||
#include "level.h"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
/* STATEMENT SYNTAX PARSER */
|
||||
|
||||
{
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
#include <em.h>
|
||||
#else
|
||||
|
@ -14,15 +14,11 @@
|
|||
#include "l_lint.h"
|
||||
#endif /* LINT */
|
||||
|
||||
#include "debug.h"
|
||||
#include "botch_free.h"
|
||||
#include "dbsymtab.h"
|
||||
|
||||
#include <flt_arith.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include "expr.h"
|
||||
#include "code.h"
|
||||
|
|
|
@ -5,13 +5,11 @@
|
|||
/* $Id$ */
|
||||
/* ADMINISTRATION OF STRUCT AND UNION DECLARATIONS */
|
||||
|
||||
#include "nobitfield.h"
|
||||
#include "debug.h"
|
||||
#include "botch_free.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "stack.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "type.h"
|
||||
#include "proto.h"
|
||||
|
|
|
@ -5,18 +5,14 @@
|
|||
/* $Id$ */
|
||||
/* S W I T C H - S T A T E M E N T A D M I N I S T R A T I O N */
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
#include <em.h>
|
||||
#else
|
||||
#include "l_em.h"
|
||||
#endif /* LINT */
|
||||
#include "debug.h"
|
||||
#include "botch_free.h"
|
||||
#include <alloc.h>
|
||||
#include "density.h"
|
||||
#include "Lpars.h"
|
||||
#include "idf.h"
|
||||
#include "label.h"
|
||||
#include <flt_arith.h>
|
||||
#include "arith.h"
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
/* $Id$ */
|
||||
/* TOKEN NAME DEFINITIONS */
|
||||
|
||||
#include "idf.h"
|
||||
#include "parameters.h"
|
||||
#include "idf.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "tokenname.h"
|
||||
|
|
|
@ -5,14 +5,12 @@
|
|||
/* $Id$ */
|
||||
/* T Y P E D E F I N I T I O N M E C H A N I S M */
|
||||
|
||||
#include "nobitfield.h"
|
||||
#include "debug.h"
|
||||
#include "botch_free.h"
|
||||
#include "parameters.h"
|
||||
#include <alloc.h>
|
||||
#include "idf.h"
|
||||
#include "Lpars.h"
|
||||
#include "arith.h"
|
||||
#include "type.h"
|
||||
#include "idf.h"
|
||||
#include "def.h"
|
||||
#include "proto.h"
|
||||
#include "sizes.h"
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* TYPE DESCRIPTOR */
|
||||
|
||||
#include "nobitfield.h"
|
||||
#include "dbsymtab.h"
|
||||
#include "parameters.h"
|
||||
|
||||
struct type {
|
||||
struct type *next; /* used for ARRAY and for qualifiers */
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
allowing re-use.
|
||||
*/
|
||||
|
||||
#include "lint.h"
|
||||
#include "parameters.h"
|
||||
#ifndef LINT
|
||||
#include <em.h>
|
||||
#else
|
||||
|
@ -22,10 +22,7 @@
|
|||
#include <alloc.h>
|
||||
#include <em_mes.h>
|
||||
|
||||
#include "debug.h"
|
||||
#include "util.h"
|
||||
#include "use_tmp.h"
|
||||
#include "regcount.h"
|
||||
#include "sizes.h"
|
||||
#include "align.h"
|
||||
#include "stack.h"
|
||||
|
|
|
@ -39,7 +39,7 @@ arith NewLocal(); /* util.c */
|
|||
#define LocalPtrVar() NewLocal(pointer_size, pointer_align, reg_pointer, REGISTER)
|
||||
|
||||
/* EVAL() is the main expression-tree evaluator, which turns
|
||||
any legal expression tree into EM code. Parameters:
|
||||
any legal expression tree into EM code. parameters.h:
|
||||
|
||||
struct expr *expr
|
||||
pointer to root of the expression tree to be evaluated
|
||||
|
|
|
@ -70,7 +70,7 @@ replace(idef)
|
|||
return 0;
|
||||
}
|
||||
if (++mac->mc_count > 100) {
|
||||
/* 100 must be some number in Parameters */
|
||||
/* 100 must be some number in parameters.h */
|
||||
lexwarning("macro %s is assumed recursive",
|
||||
idef->id_text);
|
||||
return 0;
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
/* $Id$ */
|
||||
/* L E X I C A L A N A L Y Z E R */
|
||||
|
||||
#include "idfsize.h"
|
||||
#include "numsize.h"
|
||||
#include "strsize.h"
|
||||
#include "parameters.h"
|
||||
|
||||
#include <alloc.h>
|
||||
#include "input.h"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
||||
*/
|
||||
/* $Id$ */
|
||||
#include "dobits.h"
|
||||
#include "parameters.h"
|
||||
#ifdef DOBITS
|
||||
#define bit0 0x01
|
||||
#define bit1 0x02
|
||||
|
|
104
lang/cem/cpp.ansi/build.mk
Normal file
104
lang/cem/cpp.ansi/build.mk
Normal file
|
@ -0,0 +1,104 @@
|
|||
D := lang/cem/cpp.ansi
|
||||
|
||||
define build-cpp-ansi-allocd-header
|
||||
$1: $2 $D/make.allocd
|
||||
@echo ALLOCD $1
|
||||
@mkdir -p $(dir $1)
|
||||
$(hide) $D/make.allocd < $2 > $1
|
||||
|
||||
$(eval CLEANABLES += $1)
|
||||
endef
|
||||
|
||||
define build-cpp-ansi-tokfile
|
||||
$(OBJDIR)/$D/tokenfile.g: $D/make.tokfile $D/tokenname.c
|
||||
@echo TOKENFILE $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) sh $D/make.tokfile < $D/tokenname.c > $$@
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/tokenfile.g)
|
||||
endef
|
||||
|
||||
define build-cpp-ansi-tokcase
|
||||
$(OBJDIR)/$D/symbol2str.c: $D/make.tokcase $D/tokenname.c
|
||||
@echo TOKCASE $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) sh $D/make.tokcase < $D/tokenname.c > $$@
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/symbol2str.c)
|
||||
endef
|
||||
|
||||
define build-cpp-ansi-next
|
||||
$(OBJDIR)/$D/next.c: $D/make.next $D/macro.str $D/replace.str
|
||||
@echo NEXT $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) sh $D/make.next $D/macro.str $D/replace.str > $$@
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/next.c)
|
||||
endef
|
||||
|
||||
define build-cpp-ansi-impl
|
||||
$(eval $(call build-cpp-ansi-next))
|
||||
$(eval $(call build-cpp-ansi-tokcase))
|
||||
$(eval $(call build-cpp-ansi-tokfile))
|
||||
$(eval $(call build-cpp-ansi-allocd-header, \
|
||||
$(OBJDIR)/$D/macro.h, $D/macro.str \
|
||||
))
|
||||
$(eval $(call build-cpp-ansi-allocd-header, \
|
||||
$(OBJDIR)/$D/replace.h, $D/replace.str \
|
||||
))
|
||||
|
||||
$(call reset)
|
||||
$(eval cflags += -I$(OBJDIR)/$D -I$D)
|
||||
|
||||
$(call cfile, $D/LLlex.c)
|
||||
$(call cfile, $D/LLmessage.c)
|
||||
$(call cfile, $D/ch3bin.c)
|
||||
$(call cfile, $D/ch3mon.c)
|
||||
$(call cfile, $D/domacro.c)
|
||||
$(call cfile, $D/error.c)
|
||||
$(call cfile, $D/idf.c)
|
||||
$(call cfile, $D/init.c)
|
||||
$(call cfile, $D/input.c)
|
||||
$(call cfile, $D/main.c)
|
||||
$(call cfile, $D/options.c)
|
||||
$(call cfile, $D/preprocess.c)
|
||||
$(call cfile, $D/replace.c)
|
||||
$(call cfile, $D/skip.c)
|
||||
$(call cfile, $D/tokenname.c)
|
||||
$(call cfile, $D/expr.c)
|
||||
$(call cfile, $(OBJDIR)/$D/symbol2str.c)
|
||||
$(call cfile, $(OBJDIR)/$D/next.c)
|
||||
|
||||
$(call llgen, $(OBJDIR)/$D, $(OBJDIR)/$D/tokenfile.g $D/expression.g)
|
||||
|
||||
$(call file, $(LIBINPUT))
|
||||
$(call file, $(LIBASSERT))
|
||||
$(call file, $(LIBALLOC))
|
||||
$(call file, $(LIBPRINT))
|
||||
$(call file, $(LIBSYSTEM))
|
||||
$(call file, $(LIBSTRING))
|
||||
|
||||
$(call tabgen, $D/char.tab)
|
||||
|
||||
$(eval $q: \
|
||||
$(OBJDIR)/$D/macro.h \
|
||||
$(OBJDIR)/$D/Lpars.h \
|
||||
$(INCDIR)/alloc.h \
|
||||
$(INCDIR)/inp_pkg.spec \
|
||||
$(INCDIR)/idf_pkg.spec \
|
||||
$(OBJDIR)/$D/replace.h \
|
||||
$(INCDIR)/system.h \
|
||||
$(INCDIR)/inp_pkg.body \
|
||||
$(INCDIR)/inp_pkg.spec \
|
||||
$(INCDIR)/idf_pkg.body)
|
||||
|
||||
$(call cprogram, $(BINDIR)/cpp.ansi)
|
||||
$(call installto, $(PLATDEP)/cpp.ansi)
|
||||
$(eval CPPANSI := $o)
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/ncpp.6)
|
||||
$(call installto, $(INSDIR)/share/man/man6/cpp.ansi.6)
|
||||
endef
|
||||
|
||||
$(eval $(build-cpp-ansi-impl))
|
|
@ -5,25 +5,19 @@
|
|||
/* $Id$ */
|
||||
/* PREPROCESSOR: CONTROLLINE INTERPRETER */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "Lpars.h"
|
||||
#include "idf.h"
|
||||
#include "input.h"
|
||||
|
||||
#include "ifdepth.h"
|
||||
#include "botch_free.h"
|
||||
#include "nparams.h"
|
||||
#include "parbufsize.h"
|
||||
#include "textsize.h"
|
||||
#include "idfsize.h"
|
||||
#include "debug.h"
|
||||
#include "parameters.h"
|
||||
#include <assert.h>
|
||||
#include <alloc.h>
|
||||
#include "class.h"
|
||||
#include "macro.h"
|
||||
#include "bits.h"
|
||||
#include "macbuf.h"
|
||||
#include "replace.h"
|
||||
|
||||
extern char options[];
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
#include <varargs.h>
|
||||
#endif
|
||||
|
||||
#include "parameters.h"
|
||||
#include "arith.h"
|
||||
#include "errout.h"
|
||||
#include "LLlex.h"
|
||||
|
||||
/* This file contains the (non-portable) error-message and diagnostic
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
#define INP_PUSHBACK 3
|
||||
#include "inputtype.h"
|
||||
#include <inp_pkg.spec>
|
||||
|
||||
/* Note: The following macro only garuantees one PushBack.
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
/* $Id$ */
|
||||
/* MAIN PROGRAM */
|
||||
|
||||
#include "debug.h"
|
||||
#include <stdlib.h>
|
||||
#include "parameters.h"
|
||||
|
||||
#include <alloc.h>
|
||||
#include <assert.h>
|
||||
#include <system.h>
|
||||
#include "arith.h"
|
||||
#include "file_info.h"
|
||||
#include "idfsize.h"
|
||||
#include "idf.h"
|
||||
#include "macro.h"
|
||||
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/sh
|
||||
: Update Files from database
|
||||
|
||||
PATH=/bin:/usr/bin
|
||||
|
||||
case $# in
|
||||
1) ;;
|
||||
*) echo use: $0 file >&2
|
||||
exit 1
|
||||
esac
|
||||
|
||||
(
|
||||
IFCOMMAND="if [ -r \$FN ] ;\
|
||||
then if cmp -s \$FN \$TMP;\
|
||||
then rm \$TMP;\
|
||||
else mv \$TMP \$FN;\
|
||||
echo update \$FN;\
|
||||
fi;\
|
||||
else mv \$TMP \$FN;\
|
||||
echo create \$FN;\
|
||||
fi"
|
||||
echo 'TMP=.uf$$'
|
||||
echo 'FN=$TMP'
|
||||
echo 'cat >$TMP <<\!EOF!'
|
||||
sed -n '/^!File:/,${
|
||||
/^$/d
|
||||
/^!File:[ ]*\(.*\)$/s@@!EOF!\
|
||||
'"$IFCOMMAND"'\
|
||||
FN=\1\
|
||||
cat >$TMP <<\\!EOF!@
|
||||
p
|
||||
}' $1
|
||||
echo '!EOF!'
|
||||
echo $IFCOMMAND
|
||||
) | eval "$(cat)"
|
|
@ -8,7 +8,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "alloc.h"
|
||||
#include "idfsize.h"
|
||||
#include "parameters.h"
|
||||
#include "class.h"
|
||||
#include "macro.h"
|
||||
#include "idf.h"
|
||||
|
|
|
@ -1,72 +1,67 @@
|
|||
!File: pathlength.h
|
||||
#ifndef PARAMETERS_H
|
||||
#define PARAMETERS_H
|
||||
|
||||
#define PATHLENGTH 1024 /* max. length of path to file */
|
||||
|
||||
|
||||
!File: errout.h
|
||||
#define ERROUT STDERR /* file pointer for writing messages */
|
||||
#define MAXERR_LINE 5 /* maximum number of error messages given
|
||||
on the same input line. */
|
||||
|
||||
|
||||
!File: idfsize.h
|
||||
#define IDFSIZE 64 /* maximum significant length of an identifier */
|
||||
|
||||
|
||||
!File: numsize.h
|
||||
#define NUMSIZE 256 /* maximum length of a numeric constant */
|
||||
|
||||
|
||||
!File: nparams.h
|
||||
#define NPARAMS 32 /* maximum number of parameters of macros */
|
||||
#define STDC_NPARAMS 31 /* ANSI limit on number of parameters */
|
||||
|
||||
|
||||
!File: ifdepth.h
|
||||
#define IFDEPTH 256 /* maximum number of nested if-constructions */
|
||||
|
||||
|
||||
!File: macbuf.h
|
||||
#define LAPBUF 128 /* initial size of macro replacement buffer */
|
||||
#define ARGBUF 128 /* initial size of macro parameter buffer(s) */
|
||||
|
||||
|
||||
!File: strsize.h
|
||||
#define ISTRSIZE 16 /* minimum number of bytes allocated for
|
||||
storing a string */
|
||||
|
||||
|
||||
!File: botch_free.h
|
||||
/*#define BOTCH_FREE 1 /* botch freed memory, as a check */
|
||||
#if 0
|
||||
#define BOTCH_FREE 1 /* botch freed memory, as a check */
|
||||
#endif
|
||||
|
||||
|
||||
!File: debug.h
|
||||
/*#define DEBUG 1 /* perform various self-tests */
|
||||
#if 0
|
||||
#define DEBUG 1 /* perform various self-tests */
|
||||
#endif
|
||||
#define NDEBUG 1 /* disable assertions */
|
||||
|
||||
|
||||
!File: parbufsize.h
|
||||
#define PARBUFSIZE 1024
|
||||
|
||||
|
||||
!File: textsize.h
|
||||
#define ITEXTSIZE 16 /* 1st piece of memory for repl. text */
|
||||
|
||||
|
||||
!File: inputtype.h
|
||||
/*#define INP_READ_IN_ONE 1 /* read input file in one. */
|
||||
#if 0
|
||||
#define INP_READ_IN_ONE 1 /* read input file in one. */
|
||||
/* If defined, we cannot read from a pipe */
|
||||
#endif
|
||||
|
||||
|
||||
!File: obufsize.h
|
||||
#define OBUFSIZE 8192 /* output buffer size */
|
||||
|
||||
|
||||
!File: dobits.h
|
||||
#define DOBITS 1 /* use trick to reduce symboltable accesses */
|
||||
|
||||
|
||||
!File: ln_prefix.h
|
||||
#define LINE_PREFIX "#" /* prefix for generated line directives,
|
||||
either "#" or "#line"
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
@ -10,16 +10,13 @@
|
|||
#include <system.h>
|
||||
#include <alloc.h>
|
||||
#include "input.h"
|
||||
#include "obufsize.h"
|
||||
#include "parameters.h"
|
||||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "class.h"
|
||||
#include "macro.h"
|
||||
#include "idf.h"
|
||||
#include "idfsize.h"
|
||||
#include "bits.h"
|
||||
#include "ln_prefix.h"
|
||||
#include "textsize.h"
|
||||
|
||||
char _obuf[OBUFSIZE];
|
||||
#ifdef DOBITS
|
||||
|
|
|
@ -9,11 +9,7 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "pathlength.h"
|
||||
#include "strsize.h"
|
||||
#include "nparams.h"
|
||||
#include "idfsize.h"
|
||||
#include "numsize.h"
|
||||
#include "parameters.h"
|
||||
#include "alloc.h"
|
||||
#include "idf.h"
|
||||
#include "input.h"
|
||||
|
@ -21,9 +17,7 @@
|
|||
#include "arith.h"
|
||||
#include "LLlex.h"
|
||||
#include "class.h"
|
||||
#include "debug.h"
|
||||
#include "assert.h"
|
||||
#include "macbuf.h"
|
||||
#include "replace.h"
|
||||
|
||||
extern char *GetIdentifier();
|
||||
|
|
36
lang/cem/libcc.ansi/build.mk
Normal file
36
lang/cem/libcc.ansi/build.mk
Normal file
|
@ -0,0 +1,36 @@
|
|||
define build-libcc-ansi-headers-install-one-impl
|
||||
$(call reset)
|
||||
$(eval q := lang/cem/libcc.ansi/headers/$(strip $1))
|
||||
$(call installto, $(PLATIND)/include/ansi/$(strip $1))
|
||||
$(eval LIBCCANSIHEADERS += $o)
|
||||
endef
|
||||
|
||||
define build-libcc-ansi-headers-impl
|
||||
$(eval g := \
|
||||
sys/time.h \
|
||||
sys/ioctl.h \
|
||||
assert.h \
|
||||
ctype.h \
|
||||
errno.h \
|
||||
float.h \
|
||||
limits.h \
|
||||
math.h \
|
||||
setjmp.h \
|
||||
signal.h \
|
||||
stdarg.h \
|
||||
stddef.h \
|
||||
stdint.h \
|
||||
stdio.h \
|
||||
stdlib.h \
|
||||
string.h \
|
||||
time.h \
|
||||
iso646.h \
|
||||
stdbool.h \
|
||||
locale.h \
|
||||
tgmath.h)
|
||||
|
||||
$(eval LIBCCANSIHEADERS :=)
|
||||
$(foreach f,$g,$(call build-libcc-ansi-headers-install-one-impl,$f))
|
||||
endef
|
||||
|
||||
$(eval $(build-libcc-ansi-headers-impl))
|
|
@ -219,7 +219,7 @@ EnterParTypes(fpl, parlist)
|
|||
register struct node *fpl;
|
||||
struct paramlist **parlist;
|
||||
{
|
||||
/* Parameters in heading of procedural and functional
|
||||
/* parameters.h in heading of procedural and functional
|
||||
parameters (only types are important, not the names).
|
||||
*/
|
||||
register arith nb_pars = 0;
|
||||
|
|
30
lib/descr/fe
30
lib/descr/fe
|
@ -4,15 +4,15 @@
|
|||
# Don't generate line updating code by default (i.e.: -L flag provided to cem).
|
||||
# To put it on again: use -NL
|
||||
var LFLAG=-L
|
||||
var MODULA2_INCLUDES=-I{EM}/include/m2
|
||||
var OCCAM_INCLUDES=-I{EM}/include/occam
|
||||
var C_INCLUDES=-I{EM}/include/ansi
|
||||
var MODULA2_INCLUDES=-I{EM}/share/ack/include/m2
|
||||
var OCCAM_INCLUDES=-I{EM}/share/ack/include/occam
|
||||
var C_INCLUDES=-I{EM}/share/ack/include/ansi
|
||||
|
||||
callname ack
|
||||
name cpp
|
||||
# no from, this is a preprocessor
|
||||
to .i
|
||||
program {EM}/lib.bin/cpp.ansi
|
||||
program {EM}/lib/ack/cpp.ansi
|
||||
mapflag -I* CPP_F={CPP_F?} -I*
|
||||
mapflag -U* CPP_F={CPP_F?} -U*
|
||||
mapflag -D* CPP_F={CPP_F?} -D*
|
||||
|
@ -38,7 +38,7 @@ end
|
|||
name f77
|
||||
from .f
|
||||
to .c
|
||||
program {EM}/lib.bin/f2c
|
||||
program {EM}/lib/ack/f2c
|
||||
mapflag -ansi F2_F={F2_F?} -A
|
||||
mapflag -w* F2_F={F2_F?} -w*
|
||||
args \
|
||||
|
@ -54,7 +54,7 @@ end
|
|||
name cem
|
||||
from .c
|
||||
to .k
|
||||
program {EM}/lib.bin/em_cemcom.ansi
|
||||
program {EM}/lib/ack/em_cemcom.ansi
|
||||
# mapflag -I* CPP_F={CPP_F?} -I*
|
||||
# mapflag -U* CPP_F={CPP_F?} -U*
|
||||
# mapflag -D* CPP_F={CPP_F?} -D*
|
||||
|
@ -93,7 +93,7 @@ end
|
|||
name pc
|
||||
from .p
|
||||
to .k
|
||||
program {EM}/lib.bin/em_pc
|
||||
program {EM}/lib/ack/em_pc
|
||||
mapflag -L PC_F={PC_F?} -L
|
||||
# mapflag -s PC_F={PC_F?} -s
|
||||
mapflag -_ PC_F={PC_F?} -U
|
||||
|
@ -118,7 +118,7 @@ end
|
|||
name m2
|
||||
from .mod.def
|
||||
to .k
|
||||
program {EM}/lib.bin/em_m2
|
||||
program {EM}/lib/ack/em_m2
|
||||
mapflag -I* M2_INCL={M2_INCL?} -I*
|
||||
mapflag -L M2_F={M2_F?} -L
|
||||
mapflag -g* M2_F={M2_F?} -g*
|
||||
|
@ -142,7 +142,7 @@ end
|
|||
name ocm
|
||||
from .ocm
|
||||
to .k
|
||||
program {EM}/lib.bin/em_occam
|
||||
program {EM}/lib/ack/em_occam
|
||||
mapflag -L OCM_F={OCM_F?} -L
|
||||
mapflag -V* OCM_F={OCM_F?} -V*
|
||||
args -Vw{w}p{p}l{l} {OCM_F?}
|
||||
|
@ -168,7 +168,7 @@ name abc
|
|||
need .b
|
||||
callname abc
|
||||
end
|
||||
var A68INIT={EM}/lib.bin/em_a68s_init
|
||||
var A68INIT={EM}/lib/ack/em_a68s_init
|
||||
name a68s
|
||||
from .8.a68
|
||||
to .k
|
||||
|
@ -183,7 +183,7 @@ end
|
|||
name encode
|
||||
from .e
|
||||
to .k
|
||||
program {EM}/lib.bin/em_encode
|
||||
program {EM}/lib/ack/em_encode
|
||||
args <
|
||||
prep cond
|
||||
stdout
|
||||
|
@ -191,7 +191,7 @@ end
|
|||
name opt
|
||||
from .k
|
||||
to .m
|
||||
program {EM}/lib.bin/em_opt
|
||||
program {EM}/lib/ack/em_opt
|
||||
mapflag -LIB OPT_F={OPT_F?} -L
|
||||
# when running the global optimizer, no multiplication optimization here.
|
||||
mapflag -O2 OPT2_F=-m0
|
||||
|
@ -204,7 +204,7 @@ end
|
|||
name ego
|
||||
from .m.ma
|
||||
to .gk
|
||||
program {EM}/lib.bin/em_ego
|
||||
program {EM}/lib/ack/em_ego
|
||||
mapflag -EGO-* EGO_F={EGO_F?} -*
|
||||
# The following lines are obsolete, but here for backwards compatibility.
|
||||
# They should be removed some day.
|
||||
|
@ -237,7 +237,7 @@ name opt2
|
|||
# of the em peephole optimizer
|
||||
from .gk
|
||||
to .g
|
||||
program {EM}/lib.bin/em_opt2
|
||||
program {EM}/lib/ack/em_opt2
|
||||
# mapflag -LIB OPT_F={OPT_F?} -L
|
||||
args {OPT_F?} {MACHOPT_F?} <
|
||||
optimizer
|
||||
|
@ -246,7 +246,7 @@ end
|
|||
name decode
|
||||
from .k.m.g.gk
|
||||
to .e
|
||||
program {EM}/lib.bin/em_decode
|
||||
program {EM}/lib/ack/em_decode
|
||||
args <
|
||||
stdout
|
||||
end
|
||||
|
|
43
mach/proto/as/build.mk
Normal file
43
mach/proto/as/build.mk
Normal file
|
@ -0,0 +1,43 @@
|
|||
define build-as-impl
|
||||
$(call reset)
|
||||
|
||||
$(eval cflags += -Imach/$(ARCH)/as -I$(OBJDIR)/$D)
|
||||
$(eval objdir := $D)
|
||||
|
||||
$(call cfile, mach/proto/as/comm3.c)
|
||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
|
||||
|
||||
$(call cfile, mach/proto/as/comm4.c)
|
||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
|
||||
|
||||
$(call cfile, mach/proto/as/comm5.c)
|
||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
|
||||
|
||||
$(call cfile, mach/proto/as/comm6.c)
|
||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
|
||||
|
||||
$(call cfile, mach/proto/as/comm7.c)
|
||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
|
||||
|
||||
$(call cfile, mach/proto/as/comm8.c)
|
||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
|
||||
|
||||
$(call yacc, $(OBJDIR)/$D, $(OBJDIR)/$D/preprocessed-comm2.y)
|
||||
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/preprocessed-comm2.y)
|
||||
$(OBJDIR)/$D/preprocessed-comm2.y: mach/proto/as/comm2.y $(CPPANSI)
|
||||
@echo PREPROCESS $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) $(CPPANSI) -P \
|
||||
-Imach/$(ARCH)/as \
|
||||
-Imach/proto/as \
|
||||
-Ih \
|
||||
mach/proto/as/comm2.y > $$@
|
||||
|
||||
$(call file, $(LIBOBJECT))
|
||||
$(call cprogram, $(BINDIR)/$(PLATFORM)/as)
|
||||
$(call installto, $(PLATDEP)/$(PLATFORM)/as)
|
||||
endef
|
||||
|
||||
build-as = $(eval $(build-as-impl))
|
||||
|
46
mach/proto/ncg/build.mk
Normal file
46
mach/proto/ncg/build.mk
Normal file
|
@ -0,0 +1,46 @@
|
|||
define build-ncg-impl
|
||||
|
||||
$(call reset)
|
||||
|
||||
$(eval cflags += -Imach/$(ARCH)/ncg -I$(OBJDIR)/$D -Imach/proto/ncg)
|
||||
$(eval objdir := $D/ncg)
|
||||
|
||||
$(call cfile, mach/proto/ncg/codegen.c)
|
||||
$(call cfile, mach/proto/ncg/compute.c)
|
||||
$(call cfile, mach/proto/ncg/equiv.c)
|
||||
$(call cfile, mach/proto/ncg/fillem.c)
|
||||
$(call cfile, mach/proto/ncg/gencode.c)
|
||||
$(call cfile, mach/proto/ncg/glosym.c)
|
||||
$(call cfile, mach/proto/ncg/label.c)
|
||||
$(call cfile, mach/proto/ncg/main.c)
|
||||
$(call cfile, mach/proto/ncg/move.c)
|
||||
$(call cfile, mach/proto/ncg/nextem.c)
|
||||
$(call cfile, mach/proto/ncg/reg.c)
|
||||
$(call cfile, mach/proto/ncg/regvar.c)
|
||||
$(call cfile, mach/proto/ncg/salloc.c)
|
||||
$(call cfile, mach/proto/ncg/state.c)
|
||||
$(call cfile, mach/proto/ncg/subr.c)
|
||||
$(call cfile, mach/proto/ncg/var.c)
|
||||
|
||||
$(eval $q: $(OBJDIR)/$D/tables.h)
|
||||
$(eval CLEANABLES += $(OBJDIR)/$D/tables.h $(OBJDIR)/$D/table.c)
|
||||
$(OBJDIR)/$D/tables.c: $(OBJDIR)/$D/tables.h
|
||||
$(OBJDIR)/$D/tables.h: $(NCGG) $(CPPANSI) mach/$(ARCH)/ncg/table
|
||||
@echo NCGG $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) cd $$(dir $$@) && \
|
||||
$(abspath $(CPPANSI)) $(abspath mach/$(ARCH)/ncg/table) | $(abspath $(NCGG))
|
||||
$(hide) mv $(OBJDIR)/$D/tables.H $(OBJDIR)/$D/tables.h
|
||||
|
||||
$(call cfile, $(OBJDIR)/$D/tables.c)
|
||||
|
||||
$(call file, $(LIBEM_DATA))
|
||||
$(call file, $(LIBFLT_ARITH))
|
||||
|
||||
$(call cprogram, $(BINDIR)/$(PLATFORM)/ncg)
|
||||
$(call installto, $(PLATDEP)/$(PLATFORM)/ncg)
|
||||
|
||||
endef
|
||||
|
||||
build-ncg = $(eval $(build-ncg-impl))
|
||||
|
23
modules/src/alloc/build.mk
Normal file
23
modules/src/alloc/build.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
D := modules/src/alloc
|
||||
|
||||
define build-liballoc-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/Malloc.c)
|
||||
$(call cfile, $D/Salloc.c)
|
||||
$(call cfile, $D/Srealloc.c)
|
||||
$(call cfile, $D/Realloc.c)
|
||||
$(call cfile, $D/botch.c)
|
||||
$(call cfile, $D/clear.c)
|
||||
$(call cfile, $D/st_alloc.c)
|
||||
$(call cfile, $D/std_alloc.c)
|
||||
$(call cfile, $D/No_Mem.c)
|
||||
$(call clibrary, $(LIBDIR)/liballoc.a)
|
||||
LIBALLOC := $o
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/alloc.h)
|
||||
$(call copyto, $(INCDIR)/alloc.h)
|
||||
endef
|
||||
|
||||
$(eval $(build-liballoc-impl))
|
||||
|
89
modules/src/em_code/build.mk
Normal file
89
modules/src/em_code/build.mk
Normal file
|
@ -0,0 +1,89 @@
|
|||
D := modules/src/em_code
|
||||
|
||||
# $1 = capital letter for library specialisation (E or K)
|
||||
# $2 = lowercase letter for library specialisation (e or k)
|
||||
# $3 = cflags that specalise this library
|
||||
|
||||
define build-em_code-impl
|
||||
$(call reset)
|
||||
$(eval cflags += $3)
|
||||
$(eval objdir := $D/$1)
|
||||
$(call cfile, $D/bhcst.c)
|
||||
$(call cfile, $D/bhdlb.c)
|
||||
$(call cfile, $D/bhdnam.c)
|
||||
$(call cfile, $D/bhfcon.c)
|
||||
$(call cfile, $D/bhicon.c)
|
||||
$(call cfile, $D/bhilb.c)
|
||||
$(call cfile, $D/bhpnam.c)
|
||||
$(call cfile, $D/bhucon.c)
|
||||
$(call cfile, $D/crcst.c)
|
||||
$(call cfile, $D/crdlb.c)
|
||||
$(call cfile, $D/crdnam.c)
|
||||
$(call cfile, $D/crxcon.c)
|
||||
$(call cfile, $D/crilb.c)
|
||||
$(call cfile, $D/crpnam.c)
|
||||
$(call cfile, $D/crscon.c)
|
||||
$(call cfile, $D/cst.c)
|
||||
$(call cfile, $D/dfdlb.c)
|
||||
$(call cfile, $D/dfdnam.c)
|
||||
$(call cfile, $D/dfilb.c)
|
||||
$(call cfile, $D/dlb.c)
|
||||
$(call cfile, $D/dnam.c)
|
||||
$(call cfile, $D/end.c)
|
||||
$(call cfile, $D/endarg.c)
|
||||
$(call cfile, $D/exc.c)
|
||||
$(call cfile, $D/fcon.c)
|
||||
$(call cfile, $D/getid.c)
|
||||
$(call cfile, $D/icon.c)
|
||||
$(call cfile, $D/ilb.c)
|
||||
$(call cfile, $D/insert.c)
|
||||
$(call cfile, $D/internerr.c)
|
||||
$(call cfile, $D/msend.c)
|
||||
$(call cfile, $D/op.c)
|
||||
$(call cfile, $D/opcst.c)
|
||||
$(call cfile, $D/opdlb.c)
|
||||
$(call cfile, $D/opdnam.c)
|
||||
$(call cfile, $D/opilb.c)
|
||||
$(call cfile, $D/opnarg.c)
|
||||
$(call cfile, $D/oppnam.c)
|
||||
$(call cfile, $D/pnam.c)
|
||||
$(call cfile, $D/pro.c)
|
||||
$(call cfile, $D/pronarg.c)
|
||||
$(call cfile, $D/msstart.c)
|
||||
$(call cfile, $D/psdlb.c)
|
||||
$(call cfile, $D/psdnam.c)
|
||||
$(call cfile, $D/pspnam.c)
|
||||
$(call cfile, $D/scon.c)
|
||||
$(call cfile, $D/ucon.c)
|
||||
$(call cfile, $D/C_out.c)
|
||||
$(call cfile, $D/failed.c)
|
||||
$(call cfile, $D/em.c)
|
||||
|
||||
$(eval $q: $(INCDIR)/em_codeEK.h)
|
||||
|
||||
$(call clibrary, $(LIBDIR)/libem$2.a)
|
||||
$(eval LIBEM$1 := $o)
|
||||
endef
|
||||
|
||||
define build-em_code-header-impl
|
||||
$(OBJDIR)/$D/em_codeEK.h: $D/make.em.gen $D/em.nogen h/em_table
|
||||
@echo MAKE_EM_GEN $$@
|
||||
@mkdir -p $$(dir $$@)
|
||||
$(hide) $D/make.em.gen h/em_table > $$@
|
||||
$(hide) cat $D/em.nogen >> $$@
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $(OBJDIR)/$D/em_codeEK.h)
|
||||
$(eval CLEANABLES += $q)
|
||||
$(call copyto, $(INCDIR)/em_codeEK.h)
|
||||
|
||||
$(eval CLEANABLES += $o)
|
||||
$(eval $o: $(INCDIR)/em_pseu.h)
|
||||
|
||||
endef
|
||||
|
||||
$(eval $(call build-em_code-header-impl))
|
||||
$(eval $(call build-em_code-impl,E,e, -DREADABLE_EM))
|
||||
$(eval $(call build-em_code-impl,K,k, ))
|
||||
|
||||
|
|
@ -9,6 +9,7 @@
|
|||
they can be written immediately.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <em_path.h>
|
||||
#include <alloc.h>
|
||||
#include "insert.h"
|
||||
|
|
26
modules/src/em_mes/build.mk
Normal file
26
modules/src/em_mes/build.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
D := modules/src/em_mes
|
||||
|
||||
define build-em_mes-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/C_ms_err.c)
|
||||
$(call cfile, $D/C_ms_opt.c)
|
||||
$(call cfile, $D/C_ms_emx.c)
|
||||
$(call cfile, $D/C_ms_reg.c)
|
||||
$(call cfile, $D/C_ms_src.c)
|
||||
$(call cfile, $D/C_ms_flt.c)
|
||||
$(call cfile, $D/C_ms_com.c)
|
||||
$(call cfile, $D/C_ms_par.c)
|
||||
$(call cfile, $D/C_ms_ego.c)
|
||||
$(call cfile, $D/C_ms_gto.c)
|
||||
$(call cfile, $D/C_ms_stb.c)
|
||||
$(call cfile, $D/C_ms_std.c)
|
||||
|
||||
$(eval $q: $(INCDIR)/em_codeEK.h)
|
||||
|
||||
$(call clibrary, $(LIBDIR)/libem_mes.a)
|
||||
$(eval LIBEM_MES := $o)
|
||||
endef
|
||||
|
||||
$(eval $(call build-em_mes-impl))
|
||||
|
||||
|
29
modules/src/flt_arith/build.mk
Normal file
29
modules/src/flt_arith/build.mk
Normal file
|
@ -0,0 +1,29 @@
|
|||
D := modules/src/flt_arith
|
||||
|
||||
define build-libflt_arith-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/flt_ar2flt.c)
|
||||
$(call cfile, $D/flt_div.c)
|
||||
$(call cfile, $D/flt_flt2ar.c)
|
||||
$(call cfile, $D/flt_modf.c)
|
||||
$(call cfile, $D/flt_str2fl.c)
|
||||
$(call cfile, $D/flt_cmp.c)
|
||||
$(call cfile, $D/flt_add.c)
|
||||
$(call cfile, $D/b64_add.c)
|
||||
$(call cfile, $D/flt_mul.c)
|
||||
$(call cfile, $D/flt_nrm.c)
|
||||
$(call cfile, $D/b64_sft.c)
|
||||
$(call cfile, $D/flt_umin.c)
|
||||
$(call cfile, $D/flt_chk.c)
|
||||
$(call cfile, $D/split.c)
|
||||
$(call cfile, $D/ucmp.c)
|
||||
$(call clibrary, $(LIBDIR)/libflt_arith.a)
|
||||
LIBFLT_ARITH := $o
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/flt_arith.h)
|
||||
$(call copyto, $(INCDIR)/flt_arith.h)
|
||||
endef
|
||||
|
||||
$(eval $(build-libflt_arith-impl))
|
||||
|
14
modules/src/idf/build.mk
Normal file
14
modules/src/idf/build.mk
Normal file
|
@ -0,0 +1,14 @@
|
|||
D := modules/src/idf
|
||||
|
||||
define build-libidf-impl
|
||||
$(call reset)
|
||||
$(eval q := $D/idf_pkg.body)
|
||||
$(call copyto, $(INCDIR)/idf_pkg.body)
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/idf_pkg.spec)
|
||||
$(call copyto, $(INCDIR)/idf_pkg.spec)
|
||||
endef
|
||||
|
||||
$(eval $(build-libidf-impl))
|
||||
|
20
modules/src/input/build.mk
Normal file
20
modules/src/input/build.mk
Normal file
|
@ -0,0 +1,20 @@
|
|||
D := modules/src/input
|
||||
|
||||
define build-libinput-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/AtEoIF.c)
|
||||
$(call cfile, $D/AtEoIT.c)
|
||||
$(call clibrary, $(LIBDIR)/libinput.a)
|
||||
$(eval LIBINPUT := $o)
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/inp_pkg.body)
|
||||
$(call copyto, $(INCDIR)/inp_pkg.body)
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/inp_pkg.spec)
|
||||
$(call copyto, $(INCDIR)/inp_pkg.spec)
|
||||
endef
|
||||
|
||||
$(eval $(build-libinput-impl))
|
||||
|
27
modules/src/object/build.mk
Normal file
27
modules/src/object/build.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
D := modules/src/object
|
||||
|
||||
define build-libobject-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/rd.c)
|
||||
$(call cfile, $D/rd_arhdr.c)
|
||||
$(call cfile, $D/rd_bytes.c)
|
||||
$(call cfile, $D/rd_int2.c)
|
||||
$(call cfile, $D/rd_long.c)
|
||||
$(call cfile, $D/rd_ranlib.c)
|
||||
$(call cfile, $D/rd_unsig2.c)
|
||||
$(call cfile, $D/wr.c)
|
||||
$(call cfile, $D/wr_arhdr.c)
|
||||
$(call cfile, $D/wr_bytes.c)
|
||||
$(call cfile, $D/wr_int2.c)
|
||||
$(call cfile, $D/wr_long.c)
|
||||
$(call cfile, $D/wr_putc.c)
|
||||
$(call cfile, $D/wr_ranlib.c)
|
||||
|
||||
$(eval $q: $(INCDIR)/local.h)
|
||||
|
||||
$(call clibrary, $(LIBDIR)/libobject.a)
|
||||
LIBOBJECT := $o
|
||||
endef
|
||||
|
||||
$(eval $(build-libobject-impl))
|
||||
|
22
modules/src/print/build.mk
Normal file
22
modules/src/print/build.mk
Normal file
|
@ -0,0 +1,22 @@
|
|||
D := modules/src/print
|
||||
|
||||
define build-libprint-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/doprnt.c)
|
||||
$(call cfile, $D/fprint.c)
|
||||
$(call cfile, $D/print.c)
|
||||
$(call cfile, $D/sprint.c)
|
||||
$(call cfile, $D/format.c)
|
||||
|
||||
$(eval $q: $(INCDIR)/system.h)
|
||||
|
||||
$(call clibrary, $(LIBDIR)/libprint.a)
|
||||
LIBPRINT := $o
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/print.h)
|
||||
$(call copyto, $(INCDIR)/print.h)
|
||||
endef
|
||||
|
||||
$(eval $(build-libprint-impl))
|
||||
|
19
modules/src/string/build.mk
Normal file
19
modules/src/string/build.mk
Normal file
|
@ -0,0 +1,19 @@
|
|||
D := modules/src/string
|
||||
|
||||
define build-libstring-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/bts2str.c)
|
||||
$(call cfile, $D/btscat.c)
|
||||
$(call cfile, $D/btscmp.c)
|
||||
$(call cfile, $D/btscpy.c)
|
||||
$(call cfile, $D/btszero.c)
|
||||
$(call cfile, $D/long2str.c)
|
||||
$(call cfile, $D/str2bts.c)
|
||||
$(call cfile, $D/str2long.c)
|
||||
$(call cfile, $D/strzero.c)
|
||||
$(call clibrary, $(LIBDIR)/libstring.a)
|
||||
LIBSTRING := $o
|
||||
endef
|
||||
|
||||
$(eval $(build-libstring-impl))
|
||||
|
29
modules/src/system/build.mk
Normal file
29
modules/src/system/build.mk
Normal file
|
@ -0,0 +1,29 @@
|
|||
D := modules/src/system
|
||||
|
||||
define build-libsystem-impl
|
||||
$(call reset)
|
||||
$(call cfile, $D/access.c)
|
||||
$(call cfile, $D/break.c)
|
||||
$(call cfile, $D/chmode.c)
|
||||
$(call cfile, $D/close.c)
|
||||
$(call cfile, $D/create.c)
|
||||
$(call cfile, $D/filesize.c)
|
||||
$(call cfile, $D/open.c)
|
||||
$(call cfile, $D/read.c)
|
||||
$(call cfile, $D/remove.c)
|
||||
$(call cfile, $D/stop.c)
|
||||
$(call cfile, $D/system.c)
|
||||
$(call cfile, $D/time.c)
|
||||
$(call cfile, $D/write.c)
|
||||
$(call cfile, $D/seek.c)
|
||||
$(call cfile, $D/rename.c)
|
||||
$(call clibrary, $(LIBDIR)/libsystem.a)
|
||||
LIBSYSTEM := $o
|
||||
|
||||
$(call reset)
|
||||
$(eval q := $D/system.h)
|
||||
$(call copyto, $(INCDIR)/system.h)
|
||||
endef
|
||||
|
||||
$(eval $(build-libsystem-impl))
|
||||
|
26
plat/build.mk
Normal file
26
plat/build.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
|
||||
define build-platform-headers
|
||||
$(call reset)
|
||||
$(eval q := $D/include/$(strip $1))
|
||||
$(call installto, $(PLATIND)/$(PLATFORM)/include/$(strip $1))
|
||||
$(eval PLATFORM_HEADERS_$(PLATFORM) += $q)
|
||||
endef
|
||||
|
||||
define build-platform-impl
|
||||
$(call reset)
|
||||
$(eval q := $D/descr)
|
||||
$(call installto, $(PLATIND)/descr/$(PLATFORM))
|
||||
|
||||
$(foreach f, $1, $(call build-platform-headers, $f))
|
||||
|
||||
$(eval PLATFORM_$(PLATFORM) := \
|
||||
$(PLATFORM_HEADERS_$(PLATFORM)) \
|
||||
$(PLATDEP)/$(PLATFORM)/ncg)
|
||||
|
||||
$(call build-as)
|
||||
$(call build-ncg)
|
||||
endef
|
||||
|
||||
build-platform = $(eval $(call build-platform-impl, $1))
|
||||
|
||||
|
14
plat/cpm/build.mk
Normal file
14
plat/cpm/build.mk
Normal file
|
@ -0,0 +1,14 @@
|
|||
ARCH := i80
|
||||
PLATFORM := cpm
|
||||
OPTIMISATION := -O
|
||||
|
||||
D := plat/cpm
|
||||
|
||||
$(eval $(call build-platform, \
|
||||
ack/config.h \
|
||||
cpm.h \
|
||||
unistd.h \
|
||||
))
|
||||
|
||||
include plat/cpm/libsys/build.mk
|
||||
|
|
@ -10,7 +10,7 @@ var f=4
|
|||
var d=8
|
||||
var ARCH=i80
|
||||
var PLATFORM=cpm
|
||||
var PLATFORMDIR={EM}/lib/{PLATFORM}
|
||||
var PLATFORMDIR={EM}/lib/ack/{PLATFORM}
|
||||
var CPP_F=-D__unix
|
||||
var ALIGN=-a0:1 -a1:1 -a2:1 -a3:1 -b0:0x0100
|
||||
var MACHOPT_F=-m8
|
||||
|
@ -18,12 +18,12 @@ var MACHOPT_F=-m8
|
|||
# Override the setting in fe so that files compiled for linux386 can see
|
||||
# the platform-specific headers.
|
||||
|
||||
var C_INCLUDES=-I{PLATFORMDIR}/include -I{EM}/include/ansi
|
||||
var C_INCLUDES=-I{EM}/share/ack/{PLATFORM}/include -I{EM}/share/ack/include/ansi
|
||||
|
||||
name be
|
||||
from .m.g
|
||||
to .s
|
||||
program {EM}/lib.bin/{PLATFORM}/ncg
|
||||
program {EM}/lib/ack/{PLATFORM}/ncg
|
||||
args <
|
||||
stdout
|
||||
need .e
|
||||
|
@ -31,7 +31,7 @@ end
|
|||
name asopt
|
||||
from .s
|
||||
to .so
|
||||
program {EM}/lib.bin/{PLATFORM}/top
|
||||
program {EM}/lib/ack/{PLATFORM}/top
|
||||
args
|
||||
optimizer
|
||||
stdin
|
||||
|
@ -40,14 +40,14 @@ end
|
|||
name as
|
||||
from .s.so
|
||||
to .o
|
||||
program {EM}/lib.bin/{PLATFORM}/as
|
||||
program {EM}/lib/ack/{PLATFORM}/as
|
||||
args - -o > <
|
||||
prep cond
|
||||
end
|
||||
name led
|
||||
from .o.a
|
||||
to .out
|
||||
program {EM}/lib.bin/em_led
|
||||
program {EM}/lib/ack/em_led
|
||||
mapflag -l* LNAME={PLATFORMDIR}/lib*
|
||||
mapflag -i SEPID=-b1:0
|
||||
mapflag -fp FLOATS={EM}/{ILIB}fp
|
||||
|
|
28
plat/cpm/libsys/build.mk
Normal file
28
plat/cpm/libsys/build.mk
Normal file
|
@ -0,0 +1,28 @@
|
|||
D := plat/cpm/libsys
|
||||
|
||||
define build-cpm-libsys-impl
|
||||
$(call reset)
|
||||
$(call ackfile, $D/_bdos.s)
|
||||
$(call ackfile, $D/_hol0.s)
|
||||
$(call ackfile, $D/_inn2.s)
|
||||
$(call ackfile, $D/_trap.s)
|
||||
$(call ackfile, $D/brk.c)
|
||||
$(call ackfile, $D/close.c)
|
||||
$(call ackfile, $D/creat.c)
|
||||
$(call ackfile, $D/errno.s)
|
||||
$(call ackfile, $D/getpid.c)
|
||||
$(call ackfile, $D/isatty.c)
|
||||
$(call ackfile, $D/kill.c)
|
||||
$(call ackfile, $D/lseek.c)
|
||||
$(call ackfile, $D/open.c)
|
||||
$(call ackfile, $D/read.c)
|
||||
$(call ackfile, $D/signal.c)
|
||||
$(call ackfile, $D/time.c)
|
||||
$(call ackfile, $D/write.c)
|
||||
|
||||
$(call acklibrary, $(LIBDIR)/$(PLATFORM)/libsys.a)
|
||||
$(call installto, $(PLATIND)/$(PLATFORM)/libsys.a)
|
||||
endef
|
||||
|
||||
$(eval $(build-cpm-libsys-impl))
|
||||
|
14
plat/pc86/build.mk
Normal file
14
plat/pc86/build.mk
Normal file
|
@ -0,0 +1,14 @@
|
|||
ARCH := i86
|
||||
PLATFORM := pc86
|
||||
OPTIMISATION := -O
|
||||
|
||||
D := plat/pc86/
|
||||
|
||||
$(eval $(call build-platform, \
|
||||
ack/config.h \
|
||||
unistd.h \
|
||||
))
|
||||
|
||||
include plat/pc86/libsys/build.mk
|
||||
|
||||
|
|
@ -10,20 +10,20 @@ var f=4
|
|||
var d=8
|
||||
var ARCH=i86
|
||||
var PLATFORM=pc86
|
||||
var PLATFORMDIR={EM}/lib/{PLATFORM}
|
||||
var PLATFORMDIR={EM}/share/ack/{PLATFORM}
|
||||
var CPP_F=-D__unix
|
||||
var ALIGN=-a0:1 -a1:1 -a2:1 -a3:1
|
||||
var MACHOPT_F=-m8
|
||||
|
||||
# Override the setting in fe so that files compiled for linux386 can see
|
||||
# Override the setting in fe so that files compiled for this platform can see
|
||||
# the platform-specific headers.
|
||||
|
||||
var C_INCLUDES=-I{PLATFORMDIR}/include -I{EM}/include/ansi
|
||||
var C_INCLUDES=-I{PLATFORMDIR}/include -I{EM}/share/ack/include/ansi
|
||||
|
||||
name be
|
||||
from .m.g
|
||||
to .s
|
||||
program {EM}/lib.bin/{PLATFORM}/ncg
|
||||
program {EM}/lib/ack/{PLATFORM}/ncg
|
||||
args <
|
||||
stdout
|
||||
need .e
|
||||
|
@ -31,14 +31,14 @@ end
|
|||
name as
|
||||
from .s.so
|
||||
to .o
|
||||
program {EM}/lib.bin/{PLATFORM}/as
|
||||
program {EM}/lib/ack/{PLATFORM}/as
|
||||
args - -o > <
|
||||
prep cond
|
||||
end
|
||||
name led
|
||||
from .o.a
|
||||
to .out
|
||||
program {EM}/lib.bin/em_led
|
||||
program {EM}/lib/ack/em_led
|
||||
mapflag -l* LNAME={PLATFORMDIR}/lib*
|
||||
mapflag -i SEPID=-b1:0
|
||||
mapflag -fp FLOATS={EM}/{ILIB}fp
|
||||
|
|
26
plat/pc86/libsys/build.mk
Normal file
26
plat/pc86/libsys/build.mk
Normal file
|
@ -0,0 +1,26 @@
|
|||
D := plat/pc86/libsys
|
||||
|
||||
define build-pc86-libsys-impl
|
||||
$(call reset)
|
||||
$(call ackfile, $D/errno.s)
|
||||
$(call ackfile, $D/_hol0.s)
|
||||
$(call ackfile, $D/_sys_rawread.s)
|
||||
$(call ackfile, $D/_sys_rawwrite.s)
|
||||
$(call ackfile, $D/open.c)
|
||||
$(call ackfile, $D/creat.c)
|
||||
$(call ackfile, $D/close.c)
|
||||
$(call ackfile, $D/read.c)
|
||||
$(call ackfile, $D/write.c)
|
||||
$(call ackfile, $D/brk.c)
|
||||
$(call ackfile, $D/getpid.c)
|
||||
$(call ackfile, $D/kill.c)
|
||||
$(call ackfile, $D/isatty.c)
|
||||
$(call ackfile, $D/lseek.c)
|
||||
$(call ackfile, $D/time.c)
|
||||
$(call ackfile, $D/signal.c)
|
||||
$(call acklibrary, $(LIBDIR)/$(PLATFORM)/libsys.a)
|
||||
$(call installto, $(PLATIND)/$(PLATFORM)/libsys.a)
|
||||
endef
|
||||
|
||||
$(eval $(build-pc86-libsys-impl))
|
||||
|
55
util/LLgen/build.mk
Normal file
55
util/LLgen/build.mk
Normal file
|
@ -0,0 +1,55 @@
|
|||
D := util/LLgen
|
||||
|
||||
# Rule to build LLgen.
|
||||
|
||||
define build-llgen-impl
|
||||
$(call reset)
|
||||
$(eval cflags += -DNON_CORRECTING -DLIBDIR=\"$(abspath $D/lib)\")
|
||||
$(call cfile, $D/src/main.c)
|
||||
$(call cfile, $D/src/gencode.c)
|
||||
$(call cfile, $D/src/compute.c)
|
||||
$(call cfile, $D/src/check.c)
|
||||
$(call cfile, $D/src/reach.c)
|
||||
$(call cfile, $D/src/global.c)
|
||||
$(call cfile, $D/src/name.c)
|
||||
$(call cfile, $D/src/sets.c)
|
||||
$(call cfile, $D/src/alloc.c)
|
||||
$(call cfile, $D/src/machdep.c)
|
||||
$(call cfile, $D/src/cclass.c)
|
||||
$(call cfile, $D/src/savegram.c)
|
||||
|
||||
# These use pre-LLgen'd version of the files. If LLgen.g gets updated,
|
||||
# they need rebuilding. Use the bootstrap script to do this.
|
||||
|
||||
$(call cfile, $D/src/LLgen.c)
|
||||
$(call cfile, $D/src/Lpars.c)
|
||||
$(call cfile, $D/src/tokens.c)
|
||||
|
||||
$(call cprogram, $(BINDIR)/LLgen)
|
||||
LLGEN := $o
|
||||
endef
|
||||
|
||||
$(eval $(build-llgen-impl))
|
||||
|
||||
# Rule to invoke to *use* LLgen.
|
||||
#
|
||||
# $1: directory to put output files
|
||||
# $2: input files
|
||||
#
|
||||
# Output files are compiled via cfile and queued.
|
||||
|
||||
define llgen-impl
|
||||
$(eval o := $1/Lpars.c $(patsubst %.g, $(strip $1)/%.c, $(notdir $2)))
|
||||
$(eval CLEANABLES += $o $1/Lpars.h)
|
||||
|
||||
$o: $1/Lpars.h
|
||||
$1/Lpars.h: $2 $(LLGEN)
|
||||
@echo LLGEN $1/Lpars.c
|
||||
@mkdir -p $(dir $o)
|
||||
$(hide) cd $(dir $o) && $(LLGEN) $(abspath $2)
|
||||
|
||||
$(foreach f,$o,$(call cfile,$f))
|
||||
|
||||
endef
|
||||
|
||||
llgen = $(eval $(call llgen-impl,$1,$2))
|
|
@ -17,6 +17,7 @@
|
|||
* Also checks the continuation grammar from the specified grammar.
|
||||
*/
|
||||
|
||||
# include <stdlib.h>
|
||||
# include "types.h"
|
||||
# include "extern.h"
|
||||
# include "sets.h"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue