From: David Given Date: Tue, 14 May 2013 19:47:04 +0000 (+0100) Subject: Pascal compiler now runs. X-Git-Tag: release-6-0-pre-5~28^2~6 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=66aebcdd91a2aa248b2b505595ca9c4ae4d2a130;p=ack.git Pascal compiler now runs. --HG-- branch : dtrg-buildsystem rename : lang/basic/build.mk => lang/pc/build.mk rename : lang/cem/cemcom.ansi/build.mk => lang/pc/comp/build.mk rename : lang/basic/lib/build.mk => lang/pc/libpc/build.mk --- diff --git a/Makefile b/Makefile index 52e792e64..5e21f2e73 100644 --- a/Makefile +++ b/Makefile @@ -55,6 +55,7 @@ include util/topgen/build.mk include lang/cem/build.mk include lang/basic/build.mk +include lang/pc/build.mk include mach/proto/as/build.mk include mach/proto/ncg/build.mk diff --git a/lang/basic/src/build.mk b/lang/basic/src/build.mk index e8a6f3cfb..00d429107 100644 --- a/lang/basic/src/build.mk +++ b/lang/basic/src/build.mk @@ -18,14 +18,14 @@ $(call cfile, $D/func.c) $(call llgen, $(OBJDIR)/$D, $D/basic.g) -$(eval g := $(OBJDIR)/$D/token.h) +$(eval g := $(OBJDIR)/$D/tokentab.h) +$(eval $q: $g) $(eval CLEANABLES += $g) $g: $D/maketokentab $(OBJDIR)/$D/Lpars.h @echo TOKENTAB $$@ @mkdir -p $$(dir $$@) $(hide) cd $(OBJDIR)/$D && $(abspath $$^) -$(eval $q: $(OBJDIR)/$D/token.h) $(eval $q: $(OBJDIR)/$D/Lpars.h) $(eval $q: $(INCDIR)/print.h) diff --git a/lang/pc/build.mk b/lang/pc/build.mk new file mode 100644 index 000000000..82b8f2d5f --- /dev/null +++ b/lang/pc/build.mk @@ -0,0 +1,3 @@ +include lang/pc/libpc/build.mk +include lang/pc/comp/build.mk + diff --git a/lang/pc/comp/LLlex.c b/lang/pc/comp/LLlex.c index 4c2b6b66d..6074870f7 100644 --- a/lang/pc/comp/LLlex.c +++ b/lang/pc/comp/LLlex.c @@ -3,10 +3,8 @@ #include #include #include +#include "parameters.h" #include "debug.h" -#include "idfsize.h" -#include "numsize.h" -#include "strsize.h" #include #include diff --git a/lang/pc/comp/LLmessage.c b/lang/pc/comp/LLmessage.c index 1f7fe0487..965887f41 100644 --- a/lang/pc/comp/LLmessage.c +++ b/lang/pc/comp/LLmessage.c @@ -10,6 +10,7 @@ #include #include +#include "parameters.h" #include "LLlex.h" #include "Lpars.h" #include "idf.h" diff --git a/lang/pc/comp/body.c b/lang/pc/comp/body.c index d628d85b2..f2f7a1a04 100644 --- a/lang/pc/comp/body.c +++ b/lang/pc/comp/body.c @@ -1,3 +1,4 @@ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/build.mk b/lang/pc/comp/build.mk new file mode 100644 index 000000000..2939c4524 --- /dev/null +++ b/lang/pc/comp/build.mk @@ -0,0 +1,132 @@ +D := lang/pc/comp + +define build-pc-allocd-header +$2: $1 $D/make.allocd + @echo ALLOCD $$@ + @mkdir -p $$(dir $$@) + $(hide) $D/make.allocd < $$^ > $$@ + +$(eval CLEANABLES += $2) +$(eval $q: $2) +endef + +define build-pc-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-pc-allocd-header, \ + $f, $(OBJDIR)/$(basename $f).h)) +endef + +define build-pc-impl + +$(call reset) +$(eval cflags += -I$(OBJDIR)/$D -I$D -DSTATIC=static) + +$(call cfile, $D/LLlex.c) +$(call cfile, $D/LLmessage.c) +$(call cfile, $D/body.c) +$(call cfile, $D/chk_expr.c) +$(call cfile, $D/code.c) +$(call cfile, $D/cstoper.c) +$(call cfile, $D/def.c) +$(call cfile, $D/desig.c) +$(call cfile, $D/enter.c) +$(call cfile, $D/error.c) +$(call cfile, $D/idf.c) +$(call cfile, $D/input.c) +$(call cfile, $D/label.c) +$(call cfile, $D/lookup.c) +$(call cfile, $D/main.c) +$(call cfile, $D/misc.c) +$(call cfile, $D/node.c) +$(call cfile, $D/options.c) +$(call cfile, $D/progs.c) +$(call cfile, $D/readwrite.c) +$(call cfile, $D/scope.c) +$(call cfile, $D/stab.c) +$(call cfile, $D/tokenname.c) +$(call cfile, $D/type.c) +$(call cfile, $D/typequiv.c) + +$(call llgen, $(OBJDIR)/$D, \ + $(OBJDIR)/$D/tokenfile.g \ + $D/program.g \ + $D/declar.g \ + $D/expression.g \ + $D/statement.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/Parameters + @echo PARAMETERS $$@ + @mkdir -p $$(dir $$@) + $(hide) echo '#ifndef PARAMETERS_H' > $$@ + $(hide) echo '#define PARAMETERS_H' >> $$@ + $(hide) grep -v '^!' < $$^ >> $$@ + $(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-pc-next, \ + $D/def.H \ + $D/type.H \ + $D/node.H \ + $D/scope.H \ + $D/desig.H \ + $D/tmpvar.C \ + $D/casestat.C) + +$(call build-pc-allocd-header, $D/tmpvar.C, $(OBJDIR)/$D/tmpvar.c) +$(call cfile, $(OBJDIR)/$D/tmpvar.c) + +$(call build-pc-allocd-header, $D/casestat.C, $(OBJDIR)/$D/casestat.c) +$(call cfile, $(OBJDIR)/$D/casestat.c) + +$(eval $q: $(OBJDIR)/$D/Lpars.h) +$(eval $q: $(INCDIR)/idf_pkg.spec) +$(eval $q: $(INCDIR)/idf_pkg.body) +$(eval $q: $(INCDIR)/inp_pkg.spec) +$(eval $q: $(INCDIR)/inp_pkg.body) +$(eval $q: $(INCDIR)/alloc.h) +$(eval $q: $(INCDIR)/em_codeEK.h) +$(eval $q: $(INCDIR)/print.h) +$(eval $q: $(INCDIR)/system.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)/em_pc) +$(call installto, $(PLATDEP)/em_pc) + +$(call reset) +$(eval q := $D/em_pc.6) +$(call installto, $(INSDIR)/share/man/man6/em_pc.6) +endef + +$(eval $(build-pc-impl)) diff --git a/lang/pc/comp/casestat.C b/lang/pc/comp/casestat.C index 83223c09d..61eba13f7 100644 --- a/lang/pc/comp/casestat.C +++ b/lang/pc/comp/casestat.C @@ -1,4 +1,5 @@ /* C A S E S T A T E M E N T C O D E G E N E R A T I O N */ +#include "parameters.h" #include "debug.h" #include @@ -8,7 +9,6 @@ #include "LLlex.h" #include "Lpars.h" #include "chk_expr.h" -#include "density.h" #include "main.h" #include "node.h" #include "type.h" diff --git a/lang/pc/comp/chk_expr.c b/lang/pc/comp/chk_expr.c index 82e14c768..1c5cb58ea 100644 --- a/lang/pc/comp/chk_expr.c +++ b/lang/pc/comp/chk_expr.c @@ -3,8 +3,10 @@ /* Check expressions, and try to evaluate them as far as possible. */ +#include "parameters.h" #include "debug.h" +#include #include #include #include diff --git a/lang/pc/comp/code.c b/lang/pc/comp/code.c index 8f2efd8f0..17f0f7c32 100644 --- a/lang/pc/comp/code.c +++ b/lang/pc/comp/code.c @@ -2,6 +2,7 @@ #include #include +#include "parameters.h" #include "debug.h" #include #include diff --git a/lang/pc/comp/cstoper.c b/lang/pc/comp/cstoper.c index fea4c7e14..be9dbc387 100644 --- a/lang/pc/comp/cstoper.c +++ b/lang/pc/comp/cstoper.c @@ -2,8 +2,8 @@ #include #include +#include "parameters.h" #include "debug.h" -#include "target_sizes.h" #include #include diff --git a/lang/pc/comp/debug.h b/lang/pc/comp/debug.h index 670c29d18..0da1c95c8 100644 --- a/lang/pc/comp/debug.h +++ b/lang/pc/comp/debug.h @@ -1,8 +1,6 @@ /* A debugging macro */ -#include "debugcst.h" - #ifdef DEBUG #define DO_DEBUG(x, y) ((x) && (y)) #else diff --git a/lang/pc/comp/declar.g b/lang/pc/comp/declar.g index 5f3a21ab8..4ee1fcf89 100644 --- a/lang/pc/comp/declar.g +++ b/lang/pc/comp/declar.g @@ -1,7 +1,8 @@ /* D E C L A R A T I O N S */ { -/* next line DEBUG */ +#include "parameters.h" +/* next line DEBUG */ #include "debug.h" #include @@ -19,7 +20,6 @@ #include "node.h" #include "scope.h" #include "type.h" -#include "dbsymtab.h" #define PC_BUFSIZ (sizeof(struct file) - (int)((struct file *)0)->bufadr) diff --git a/lang/pc/comp/def.c b/lang/pc/comp/def.c index bce524163..dfc33f459 100644 --- a/lang/pc/comp/def.c +++ b/lang/pc/comp/def.c @@ -1,5 +1,6 @@ /* D E F I N I T I O N M E C H A N I S M */ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/desig.c b/lang/pc/comp/desig.c index a996aef6b..68c5512a9 100644 --- a/lang/pc/comp/desig.c +++ b/lang/pc/comp/desig.c @@ -7,6 +7,7 @@ or perform a store. */ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/enter.c b/lang/pc/comp/enter.c index ec50ae9c2..80e99f4c7 100644 --- a/lang/pc/comp/enter.c +++ b/lang/pc/comp/enter.c @@ -5,6 +5,7 @@ #include #include +#include "parameters.h" #include "LLlex.h" #include "def.h" #include "idf.h" @@ -12,7 +13,6 @@ #include "node.h" #include "scope.h" #include "type.h" -#include "dbsymtab.h" extern int proclevel; extern int parlevel; diff --git a/lang/pc/comp/error.c b/lang/pc/comp/error.c index aa604fa6f..8a381c6fe 100644 --- a/lang/pc/comp/error.c +++ b/lang/pc/comp/error.c @@ -5,8 +5,8 @@ number of arguments! */ +#include "parameters.h" #include "debug.h" -#include "errout.h" #if __STDC__ #include diff --git a/lang/pc/comp/idf.c b/lang/pc/comp/idf.c index 6fc41b525..aa9781482 100644 --- a/lang/pc/comp/idf.c +++ b/lang/pc/comp/idf.c @@ -1,4 +1,5 @@ /* I N S T A N T I A T I O N O F I D F P A C K A G E */ +#include "parameters.h" #include "idf.h" #include diff --git a/lang/pc/comp/input.c b/lang/pc/comp/input.c index 34bb8b2c7..7497440c6 100644 --- a/lang/pc/comp/input.c +++ b/lang/pc/comp/input.c @@ -3,6 +3,7 @@ #include #include #include +#include "parameters.h" #include "f_info.h" struct f_info file_info; #include "input.h" diff --git a/lang/pc/comp/input.h b/lang/pc/comp/input.h index fcdeb21cb..4bc0b1eb8 100644 --- a/lang/pc/comp/input.h +++ b/lang/pc/comp/input.h @@ -1,7 +1,5 @@ /* I N S T A N T I A T I O N O F I N P U T M O D U L E */ -#include "inputtype.h" - #define INP_NPUSHBACK 3 #define INP_TYPE struct f_info #define INP_VAR file_info diff --git a/lang/pc/comp/label.c b/lang/pc/comp/label.c index 0f0fe8a7a..73745ba21 100644 --- a/lang/pc/comp/label.c +++ b/lang/pc/comp/label.c @@ -3,6 +3,7 @@ #include #include +#include "parameters.h" #include "LLlex.h" #include "def.h" #include "idf.h" diff --git a/lang/pc/comp/lookup.c b/lang/pc/comp/lookup.c index bcf4704a0..f051c99f4 100644 --- a/lang/pc/comp/lookup.c +++ b/lang/pc/comp/lookup.c @@ -5,6 +5,7 @@ #include #include +#include "parameters.h" #include "LLlex.h" #include "def.h" #include "idf.h" diff --git a/lang/pc/comp/main.c b/lang/pc/comp/main.c index fcab091a2..cef708fcd 100644 --- a/lang/pc/comp/main.c +++ b/lang/pc/comp/main.c @@ -2,6 +2,7 @@ #include #include +#include "parameters.h" #include "debug.h" #include @@ -23,7 +24,6 @@ #include "tokenname.h" #include "type.h" #include "scope.h" -#include "dbsymtab.h" char options[128]; char *ProgName; diff --git a/lang/pc/comp/make.next b/lang/pc/comp/make.next index 727867594..fa45e585c 100755 --- a/lang/pc/comp/make.next +++ b/lang/pc/comp/make.next @@ -1,3 +1,4 @@ +echo '#include "parameters.h"' echo '#include "debug.h"' sed -n ' s:^.*[ ]ALLOCDEF[ ].*"\(.*\)".*$:struct \1 *h_\1 = 0;\ diff --git a/lang/pc/comp/misc.c b/lang/pc/comp/misc.c index 9ded3ef6a..cb9a40ef9 100644 --- a/lang/pc/comp/misc.c +++ b/lang/pc/comp/misc.c @@ -5,6 +5,7 @@ #include #include +#include "parameters.h" #include "LLlex.h" #include "f_info.h" #include "idf.h" diff --git a/lang/pc/comp/node.c b/lang/pc/comp/node.c index bdb1804cb..889e855f8 100644 --- a/lang/pc/comp/node.c +++ b/lang/pc/comp/node.c @@ -1,5 +1,6 @@ /* N O D E O F A N A B S T R A C T P A R S E T R E E */ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/options.c b/lang/pc/comp/options.c index b80a98b72..4ecf51a68 100644 --- a/lang/pc/comp/options.c +++ b/lang/pc/comp/options.c @@ -3,13 +3,11 @@ #include #include +#include "parameters.h" #include "class.h" #include "const.h" -#include "idfsize.h" #include "main.h" #include "type.h" -#include "nocross.h" -#include "dbsymtab.h" #define MINIDFSIZE 9 diff --git a/lang/pc/comp/program.g b/lang/pc/comp/program.g index 45eacde05..dfd649e8e 100644 --- a/lang/pc/comp/program.g +++ b/lang/pc/comp/program.g @@ -1,6 +1,7 @@ /* The grammar of ISO-Pascal as given by the specification, BS6192: 1982. */ { +#include "parameters.h" #include #include #include @@ -14,7 +15,6 @@ #include "main.h" #include "node.h" #include "scope.h" -#include "dbsymtab.h" } %lexical LLlex; diff --git a/lang/pc/comp/progs.c b/lang/pc/comp/progs.c index fde2e2f12..173767526 100644 --- a/lang/pc/comp/progs.c +++ b/lang/pc/comp/progs.c @@ -1,3 +1,4 @@ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/readwrite.c b/lang/pc/comp/readwrite.c index e38c16163..7b62aaede 100644 --- a/lang/pc/comp/readwrite.c +++ b/lang/pc/comp/readwrite.c @@ -1,5 +1,6 @@ /* R E A D ( L N ) & W R I T E ( L N ) */ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/scope.c b/lang/pc/comp/scope.c index f0f9e2cba..5c09ff925 100644 --- a/lang/pc/comp/scope.c +++ b/lang/pc/comp/scope.c @@ -1,5 +1,6 @@ /* S C O P E M E C H A N I S M */ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/comp/stab.c b/lang/pc/comp/stab.c index 8ae0514f1..d5e4ee3fb 100644 --- a/lang/pc/comp/stab.c +++ b/lang/pc/comp/stab.c @@ -9,7 +9,7 @@ /* $Id$ */ -#include "dbsymtab.h" +#include "parameters.h" #ifdef DBSYMTAB diff --git a/lang/pc/comp/statement.g b/lang/pc/comp/statement.g index 3c4f6f4bb..686e20682 100644 --- a/lang/pc/comp/statement.g +++ b/lang/pc/comp/statement.g @@ -1,5 +1,6 @@ /* S T A T E M E N T S */ { +#include "parameters.h" #include #include #include @@ -15,7 +16,6 @@ #include "node.h" #include "scope.h" #include "type.h" -#include "dbsymtab.h" int slevel = 0; /* nesting level of statements */ } diff --git a/lang/pc/comp/tokenname.c b/lang/pc/comp/tokenname.c index 3f1e3fa49..547287347 100644 --- a/lang/pc/comp/tokenname.c +++ b/lang/pc/comp/tokenname.c @@ -1,5 +1,6 @@ /* T O K E N D E F I N I T I O N S */ +#include "parameters.h" #include "Lpars.h" #include "idf.h" #include "tokenname.h" diff --git a/lang/pc/comp/type.H b/lang/pc/comp/type.H index 2ee4f04ba..92e91231b 100644 --- a/lang/pc/comp/type.H +++ b/lang/pc/comp/type.H @@ -1,7 +1,5 @@ /* T Y P E D E S C R I P T O R S T R U C T U R E */ -#include "dbsymtab.h" - struct paramlist { /* structure for parameterlist of a PROCEDURE */ struct paramlist *next; struct def *par_def; /* "df" of parameter */ @@ -131,7 +129,6 @@ extern struct type *void_type, *error_type; /* All from type.c */ -#include "nocross.h" #ifdef NOCROSS #include "target_sizes.h" #define word_align (AL_WORD) diff --git a/lang/pc/comp/type.c b/lang/pc/comp/type.c index 6dd131b7a..b5662c658 100644 --- a/lang/pc/comp/type.c +++ b/lang/pc/comp/type.c @@ -1,5 +1,6 @@ /* T Y P E D E F I N I T I O N M E C H A N I S M */ +#include "parameters.h" #include "debug.h" #include @@ -18,7 +19,6 @@ #include "type.h" #ifndef NOCROSS -#include "target_sizes.h" int word_align = AL_WORD, int_align = AL_INT, diff --git a/lang/pc/comp/typequiv.c b/lang/pc/comp/typequiv.c index bb00760ce..1b90f39a2 100644 --- a/lang/pc/comp/typequiv.c +++ b/lang/pc/comp/typequiv.c @@ -3,6 +3,7 @@ /* Routines for testing type equivalence & type compatibility. */ +#include "parameters.h" #include "debug.h" #include diff --git a/lang/pc/libpc/build.mk b/lang/pc/libpc/build.mk new file mode 100644 index 000000000..bfb9d545f --- /dev/null +++ b/lang/pc/libpc/build.mk @@ -0,0 +1,92 @@ +define build-runtime-libpascal-impl + +$(call reset) +$(eval objdir := $(PLATFORM)) + +$(call ackfile, lang/pc/libpc/abi.c) +$(call ackfile, lang/pc/libpc/abl.c) +$(call ackfile, lang/pc/libpc/abr.c) +$(call ackfile, lang/pc/libpc/arg.c) +$(call ackfile, lang/pc/libpc/ass.c) +$(call ackfile, lang/pc/libpc/asz.c) +$(call ackfile, lang/pc/libpc/atn.c) +$(call ackfile, lang/pc/libpc/bcp.c) +$(call ackfile, lang/pc/libpc/bts.e) +$(call ackfile, lang/pc/libpc/buff.c) +$(call ackfile, lang/pc/libpc/catch.c) +$(call ackfile, lang/pc/libpc/clock.c) +$(call ackfile, lang/pc/libpc/cls.c) +$(call ackfile, lang/pc/libpc/cvt.c) +$(call ackfile, lang/pc/libpc/diag.c) +$(call ackfile, lang/pc/libpc/dis.c) +$(call ackfile, lang/pc/libpc/efl.c) +$(call ackfile, lang/pc/libpc/eln.c) +$(call ackfile, lang/pc/libpc/encaps.e) +$(call ackfile, lang/pc/libpc/exp.c) +$(call ackfile, lang/pc/libpc/fef.e) +$(call ackfile, lang/pc/libpc/fif.e) +$(call ackfile, lang/pc/libpc/get.c) +$(call ackfile, lang/pc/libpc/gto.e) +$(call ackfile, lang/pc/libpc/hlt.c) +$(call ackfile, lang/pc/libpc/hol0.e) +$(call ackfile, lang/pc/libpc/incpt.c) +$(call ackfile, lang/pc/libpc/ini.c) +$(call ackfile, lang/pc/libpc/log.c) +$(call ackfile, lang/pc/libpc/mdi.c) +$(call ackfile, lang/pc/libpc/mdl.c) +$(call ackfile, lang/pc/libpc/new.c) +$(call ackfile, lang/pc/libpc/nfa.c) +$(call ackfile, lang/pc/libpc/nobuff.c) +$(call ackfile, lang/pc/libpc/notext.c) +$(call ackfile, lang/pc/libpc/opn.c) +$(call ackfile, lang/pc/libpc/outcpt.c) +$(call ackfile, lang/pc/libpc/pac.c) +$(call ackfile, lang/pc/libpc/pclose.c) +$(call ackfile, lang/pc/libpc/pcreat.c) +$(call ackfile, lang/pc/libpc/pentry.c) +$(call ackfile, lang/pc/libpc/perrno.c) +$(call ackfile, lang/pc/libpc/pexit.c) +$(call ackfile, lang/pc/libpc/popen.c) +$(call ackfile, lang/pc/libpc/put.c) +$(call ackfile, lang/pc/libpc/rcka.c) +$(call ackfile, lang/pc/libpc/rdc.c) +$(call ackfile, lang/pc/libpc/rdi.c) +$(call ackfile, lang/pc/libpc/rdl.c) +$(call ackfile, lang/pc/libpc/rdr.c) +$(call ackfile, lang/pc/libpc/rf.c) +$(call ackfile, lang/pc/libpc/rln.c) +$(call ackfile, lang/pc/libpc/rnd.c) +$(call ackfile, lang/pc/libpc/sav.e) +$(call ackfile, lang/pc/libpc/sig.e) +$(call ackfile, lang/pc/libpc/sin.c) +$(call ackfile, lang/pc/libpc/sqt.c) +$(call ackfile, lang/pc/libpc/string.c) +$(call ackfile, lang/pc/libpc/trap.e) +$(call ackfile, lang/pc/libpc/trp.e) +$(call ackfile, lang/pc/libpc/unp.c) +$(call ackfile, lang/pc/libpc/uread.c) +$(call ackfile, lang/pc/libpc/uwrite.c) +$(call ackfile, lang/pc/libpc/wdw.c) +$(call ackfile, lang/pc/libpc/wf.c) +$(call ackfile, lang/pc/libpc/wrc.c) +$(call ackfile, lang/pc/libpc/wrf.c) +$(call ackfile, lang/pc/libpc/wri.c) +$(call ackfile, lang/pc/libpc/wrl.c) +$(call ackfile, lang/pc/libpc/wrr.c) +$(call ackfile, lang/pc/libpc/wrs.c) +$(call ackfile, lang/pc/libpc/wrz.c) + +$(call acklibrary, $(LIBDIR)/$(PLATFORM)/libpascal.a) +$(call installto, $(PLATIND)/$(PLATFORM)/libpascal.a) + +$(call reset) +$(eval objdir := $(PLATFORM)) +$(call ackfile, lang/pc/libpc/head_pc.e) +$(call installto, $(PLATIND)/$(PLATFORM)/pascal.o) + +endef + +build-runtime-libpascal = $(eval $(build-runtime-libpascal-impl)) + +$(eval RUNTIMES += libpascal) + diff --git a/modules/src/em_code/build.mk b/modules/src/em_code/build.mk index dbef43003..0fca5191c 100644 --- a/modules/src/em_code/build.mk +++ b/modules/src/em_code/build.mk @@ -60,6 +60,9 @@ define build-em_code-impl $(call cfile, $D/em.c) $(eval $q: $(INCDIR)/em_codeEK.h) + $(eval $q: $(INCDIR)/em_path.h) + $(eval $q: $(INCDIR)/system.h) + $(eval $q: $(INCDIR)/local.h) $(call clibrary, $(LIBDIR)/libem$2.a) $(eval LIBEM$1 := $o)