--HG--
rename : util/ncgg/build.mk => util/cgg/build.mk
This commit is contained in:
David Given 2015-03-23 00:14:10 +01:00
commit 44b5d01525
26 changed files with 220 additions and 119 deletions

View file

@ -51,7 +51,7 @@ endef
# --- Add a raw to the queue # --- Add a raw to the queue
define file define rawfile
$(eval q += $1) $(eval q += $1)
endef endef

View file

@ -29,13 +29,13 @@ $g: $D/maketokentab $(OBJDIR)/$D/Lpars.h
$(eval $q: $(OBJDIR)/$D/Lpars.h) $(eval $q: $(OBJDIR)/$D/Lpars.h)
$(eval $q: $(INCDIR)/print.h) $(eval $q: $(INCDIR)/print.h)
$(call file, $(LIBEM_MES)) $(call rawfile, $(LIBEM_MES))
$(call file, $(LIBEMK)) $(call rawfile, $(LIBEMK))
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call cprogram, $(BINDIR)/em_bem) $(call cprogram, $(BINDIR)/em_bem)
$(call installto, $(PLATDEP)/em_bem) $(call installto, $(PLATDEP)/em_bem)

View file

@ -134,16 +134,16 @@ $(call build-cemcom-ansi-next, \
$(eval $q: $(OBJDIR)/$D/Lpars.h) $(eval $q: $(OBJDIR)/$D/Lpars.h)
$(call file, $(LIBEM_MES)) $(call rawfile, $(LIBEM_MES))
$(call file, $(LIBEMK)) $(call rawfile, $(LIBEMK))
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBINPUT)) $(call rawfile, $(LIBINPUT))
$(call file, $(LIBASSERT)) $(call rawfile, $(LIBASSERT))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBFLT_ARITH)) $(call rawfile, $(LIBFLT_ARITH))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call cprogram, $(BINDIR)/cemcom.ansi) $(call cprogram, $(BINDIR)/cemcom.ansi)
$(call installto, $(PLATDEP)/em_cemcom.ansi) $(call installto, $(PLATDEP)/em_cemcom.ansi)
$(eval CEMCOMANSI := $o) $(eval CEMCOMANSI := $o)

View file

@ -71,12 +71,12 @@ define build-cpp-ansi-impl
$(call llgen, $(OBJDIR)/$D, $(OBJDIR)/$D/tokenfile.g $D/expression.g) $(call llgen, $(OBJDIR)/$D, $(OBJDIR)/$D/tokenfile.g $D/expression.g)
$(call file, $(LIBINPUT)) $(call rawfile, $(LIBINPUT))
$(call file, $(LIBASSERT)) $(call rawfile, $(LIBASSERT))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call tabgen, $D/char.tab) $(call tabgen, $D/char.tab)

View file

@ -108,16 +108,16 @@ $(eval $q: $(INCDIR)/em_codeEK.h)
$(eval $q: $(INCDIR)/print.h) $(eval $q: $(INCDIR)/print.h)
$(eval $q: $(INCDIR)/system.h) $(eval $q: $(INCDIR)/system.h)
$(call file, $(LIBEM_MES)) $(call rawfile, $(LIBEM_MES))
$(call file, $(LIBEMK)) $(call rawfile, $(LIBEMK))
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBINPUT)) $(call rawfile, $(LIBINPUT))
$(call file, $(LIBASSERT)) $(call rawfile, $(LIBASSERT))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBFLT_ARITH)) $(call rawfile, $(LIBFLT_ARITH))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call cprogram, $(BINDIR)/em_m2) $(call cprogram, $(BINDIR)/em_m2)
$(call installto, $(PLATDEP)/em_m2) $(call installto, $(PLATDEP)/em_m2)

View file

@ -95,7 +95,7 @@ $(eval g := \
$(foreach f, $g, \ $(foreach f, $g, \
$(call reset) \ $(call reset) \
$(call file, lang/m2/libm2/$f) \ $(call rawfile, lang/m2/libm2/$f) \
$(call installto, $(PLATIND)/include/modula2/$f)) $(call installto, $(PLATIND)/include/modula2/$f))
endef endef

View file

@ -111,16 +111,16 @@ $(eval $q: $(INCDIR)/em_codeEK.h)
$(eval $q: $(INCDIR)/print.h) $(eval $q: $(INCDIR)/print.h)
$(eval $q: $(INCDIR)/system.h) $(eval $q: $(INCDIR)/system.h)
$(call file, $(LIBEM_MES)) $(call rawfile, $(LIBEM_MES))
$(call file, $(LIBEMK)) $(call rawfile, $(LIBEMK))
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBINPUT)) $(call rawfile, $(LIBINPUT))
$(call file, $(LIBASSERT)) $(call rawfile, $(LIBASSERT))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBFLT_ARITH)) $(call rawfile, $(LIBFLT_ARITH))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call cprogram, $(BINDIR)/em_pc) $(call cprogram, $(BINDIR)/em_pc)
$(call installto, $(PLATDEP)/em_pc) $(call installto, $(PLATDEP)/em_pc)

View file

@ -36,7 +36,7 @@ $(OBJDIR)/$D/preprocessed-comm2.y: mach/proto/as/comm2.y $(CPPANSI) \
-Ih \ -Ih \
mach/proto/as/comm2.y > $$@ mach/proto/as/comm2.y > $$@
$(call file, $(LIBOBJECT)) $(call rawfile, $(LIBOBJECT))
$(call cprogram, $(BINDIR)/$(PLATFORM)/as) $(call cprogram, $(BINDIR)/$(PLATFORM)/as)
$(call installto, $(PLATDEP)/$(PLATFORM)/as) $(call installto, $(PLATDEP)/$(PLATFORM)/as)
endef endef

View file

@ -265,3 +265,4 @@ typedef struct sect_t sect_t;
#endif #endif
extern FILE *fopen(); /* some systems don't have this in stdio.h */ extern FILE *fopen(); /* some systems don't have this in stdio.h */

View file

@ -116,6 +116,10 @@ extern valu_t load();
extern FILE *ffcreat(); extern FILE *ffcreat();
extern FILE *fftemp(); extern FILE *fftemp();
extern void fatal(const char* s, ...);
extern void serror(const char* s, ...);
extern void warning(const char* s, ...);
/* ========== Machine dependent C declarations ========== */ /* ========== Machine dependent C declarations ========== */
#include "mach1.c" #include "mach1.c"

View file

@ -11,6 +11,7 @@
#include "comm0.h" #include "comm0.h"
#include "comm1.h" #include "comm1.h"
#include "y.tab.h" #include "y.tab.h"
#include <stdarg.h>
valu_t valu_t
load(ip) load(ip)
@ -27,7 +28,7 @@ register item_t *ip;
if ((ip->i_type & S_TYP) == S_UND || (ip->i_type & S_COM)) { if ((ip->i_type & S_TYP) == S_UND || (ip->i_type & S_COM)) {
if (pass == PASS_3) { if (pass == PASS_3) {
if (relonami != 0) if (relonami != 0)
serror("relocation error"); serror("relocation error (relonami=%d, type=%08x)", relonami, ip->i_type);
relonami = ip->i_valu+1; relonami = ip->i_valu+1;
} }
return(0); return(0);
@ -380,13 +381,28 @@ wr_fatal()
fatal("write error"); fatal("write error");
} }
/* VARARGS1 */ void diag(const char* tail, const char* s, va_list ap)
fatal(s, a1, a2, a3, a4)
char *s;
{ {
fflush(stdout);
if (modulename)
fprintf(stderr, "\"%s\", line %ld: ", modulename, lineno);
else
fprintf(stderr, "%s: ", progname);
vfprintf(stderr, s, ap);
fprintf(stderr, "%s", tail);
}
/* VARARGS1 */
void fatal(const char* s, ...)
{
va_list ap;
va_start(ap, s);
nerrors++; nerrors++;
diag(" (fatal)\n", s, a1, a2, a3, a4); diag(" (fatal)\n", s, ap);
stop(); stop();
va_end(ap);
} }
#if DEBUG == 2 #if DEBUG == 2
@ -400,37 +416,34 @@ char *file;
#if DEBUG == 1 #if DEBUG == 1
assert1() assert1()
{ {
diag(" (fatal)\n", "assertion failed"); fatal("assertion failed");
abort(); abort();
} }
#endif #endif
/* VARARGS1 */ void serror(const char* s, ...)
serror(s, a1, a2, a3, a4)
char *s;
{ {
va_list ap;
va_start(ap, s);
nerrors++; nerrors++;
diag("\n", s, a1, a2, a3, a4); diag("\n", s, ap);
stop();
va_end(ap);
} }
/* VARARGS1 */ /* VARARGS1 */
warning(s, a1, a2, a3, a4) void warning(const char* s, ...)
char *s;
{ {
diag(" (warning)\n", s, a1, a2, a3, a4); va_list ap;
} va_start(ap, s);
/* VARARGS1 */ nerrors++;
diag(tail, s, a1, a2, a3, a4) diag(" (warning)\n", s, ap);
char *tail, *s; stop();
{
fflush(stdout); va_end(ap);
if (modulename)
fprintf(stderr, "\"%s\", line %ld: ", modulename, lineno);
else
fprintf(stderr, "%s: ", progname);
fprintf(stderr, s, a1, a2, a3, a4);
fprintf(stderr, tail);
} }
nofit() nofit()

46
mach/proto/cg/build.mk Normal file
View file

@ -0,0 +1,46 @@
define build-cg-impl
$(call reset)
$(eval cflags += -Imach/$(ARCH)/cg -I$(OBJDIR)/$D -Imach/proto/cg)
$(eval objdir := $(ARCH))
$(call cfile, mach/proto/cg/codegen.c)
$(call cfile, mach/proto/cg/compute.c)
$(call cfile, mach/proto/cg/equiv.c)
$(call cfile, mach/proto/cg/fillem.c)
$(call cfile, mach/proto/cg/gencode.c)
$(call cfile, mach/proto/cg/glosym.c)
$(call cfile, mach/proto/cg/main.c)
$(call cfile, mach/proto/cg/move.c)
$(call cfile, mach/proto/cg/nextem.c)
$(call cfile, mach/proto/cg/reg.c)
$(call cfile, mach/proto/cg/regvar.c)
$(call cfile, mach/proto/cg/salloc.c)
$(call cfile, mach/proto/cg/state.c)
$(call cfile, mach/proto/cg/subr.c)
$(call cfile, mach/proto/cg/var.c)
$(eval $q: $(OBJDIR)/$D/tables.h)
$(eval CLEANABLES += $(OBJDIR)/$D/tables.h $(OBJDIR)/$D/tables.c)
$(OBJDIR)/$D/tables.c: $(OBJDIR)/$D/tables.h
$(OBJDIR)/$D/tables.h: $(CGG) $(CPPANSI) mach/$(ARCH)/cg/table
@echo CGG $$@
@mkdir -p $$(dir $$@)
$(hide) cd $$(dir $$@) && \
$(abspath $(CPPANSI)) -I$(abspath mach/$(ARCH)/cg) $(abspath mach/$(ARCH)/cg/table) | $(abspath $(CGG))
$(call cfile, $(OBJDIR)/$D/tables.c)
$(eval $q: $(INCDIR)/flt_arith.h)
$(call rawfile, $(LIBEM_DATA))
$(call rawfile, $(LIBFLT_ARITH))
$(call cprogram, $(BINDIR)/$(PLATFORM)/cg)
$(call installto, $(PLATDEP)/$(PLATFORM)/cg)
endef
build-cg = $(eval $(build-cg-impl))

View file

@ -36,8 +36,8 @@ $(call cfile, $(OBJDIR)/$D/tables.c)
$(eval $q: $(INCDIR)/flt_arith.h) $(eval $q: $(INCDIR)/flt_arith.h)
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBFLT_ARITH)) $(call rawfile, $(LIBFLT_ARITH))
$(call cprogram, $(BINDIR)/$(PLATFORM)/ncg) $(call cprogram, $(BINDIR)/$(PLATFORM)/ncg)
$(call installto, $(PLATDEP)/$(PLATFORM)/ncg) $(call installto, $(PLATDEP)/$(PLATFORM)/ncg)

View file

@ -17,7 +17,7 @@ define build-platform-impl
$(PLATIND)/descr/$(PLATFORM) \ $(PLATIND)/descr/$(PLATFORM) \
$(PLATFORM_HEADERS_$(PLATFORM)) \ $(PLATFORM_HEADERS_$(PLATFORM)) \
$(PLATDEP)/$(PLATFORM)/as \ $(PLATDEP)/$(PLATFORM)/as \
$(PLATDEP)/$(PLATFORM)/ncg \ $(if $(arch-cg-$(ARCH)), $(PLATDEP)/$(PLATFORM)/cg, $(PLATDEP)/$(PLATFORM)/ncg) \
$(ARCHITECTURE_$(ARCH))) $(ARCHITECTURE_$(ARCH)))
# libsys # libsys
@ -48,7 +48,7 @@ define build-platform-impl
# The tools themselves # The tools themselves
$(call build-as) $(call build-as)
$(call build-ncg) $(if $(arch-cg-$(ARCH)), $(call build-cg), $(call build-ncg))
# Build top only if the architecture asks for it. # Build top only if the architecture asks for it.

View file

@ -2,7 +2,7 @@
define build-simple-tool-impl define build-simple-tool-impl
$(call reset) $(call reset)
$(call cfile, util/amisc/$1.c) $(call cfile, util/amisc/$1.c)
$(call file, $(LIBOBJECT)) $(call rawfile, $(LIBOBJECT))
$(call cprogram, $(BINDIR)/$1) $(call cprogram, $(BINDIR)/$1)
$(eval INSTALLABLES += $o) $(eval INSTALLABLES += $o)
$(call installto, $(INSDIR)/bin/$1) $(call installto, $(INSDIR)/bin/$1)

View file

@ -6,10 +6,10 @@ define build-aal-impl
$(call cfile, $D/archiver.c) $(call cfile, $D/archiver.c)
$(call file, $(LIBOBJECT)) $(call rawfile, $(LIBOBJECT))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call cprogram, $(BINDIR)/aal) $(call cprogram, $(BINDIR)/aal)
$(call installto, $(INSDIR)/bin/aal) $(call installto, $(INSDIR)/bin/aal)

25
util/cgg/build.mk Normal file
View file

@ -0,0 +1,25 @@
D := util/cgg
define build-cgg-impl
$(call reset)
$(eval cflags += -I$D)
$(call yacc, $(OBJDIR)/$D, $D/bootgram.y)
$(call flex, $(OBJDIR)/$D, $D/bootlex.l)
$(call dependson, $(OBJDIR)/$D/y.tab.h)
$(call cfile, $D/main.c)
$(eval $q: $(INCDIR)/em_spec.h)
$(call rawfile, $(LIBEM_DATA))
$(call rawfile, $(LIBASSERT))
$(call rawfile, $(LIBSYSTEM))
$(call cprogram, $(BINDIR)/cgg)
$(eval CGG := $o)
endef
$(eval $(build-cgg-impl))

View file

@ -1009,3 +1009,8 @@ max(a,b) {
return(a); return(a);
return(b); return(b);
} }
int yywrap(void) {
return 1;
}

View file

@ -3,12 +3,13 @@ D := util/data
define util-data-impl define util-data-impl
$(eval g := \ $(eval g := \
$(OBJDIR)/$D/em_flag.c \
$(OBJDIR)/$D/em_pseu.c \
$(OBJDIR)/$D/em_mnem.c \
$(INCDIR)/em_spec.h \ $(INCDIR)/em_spec.h \
$(INCDIR)/em_pseu.h \ $(INCDIR)/em_pseu.h \
$(INCDIR)/em_mnem.h \ $(INCDIR)/em_mnem.h \
$(OBJDIR)/$D/em_flag.c \ )
$(OBJDIR)/$D/em_pseu.c \
$(OBJDIR)/$D/em_mnem.c)
$(eval CLEANABLES += $g) $(eval CLEANABLES += $g)
$(wordlist 2, $(words $g), $g): $(firstword $g) $(wordlist 2, $(words $g), $g): $(firstword $g)

View file

@ -6,8 +6,8 @@ $(call reset)
$(eval cflags += -DVERBOSE -DNOTCOMPACT) $(eval cflags += -DVERBOSE -DNOTCOMPACT)
$(eval cflags += -I$D/share -I$(OBJDIR)/$D) $(eval cflags += -I$D/share -I$(OBJDIR)/$D)
$(foreach f, $2, $(call cfile, $f)) $(foreach f, $2, $(call cfile, $f))
$(call file, $(LIBDIR)/libegocore.a) $(call rawfile, $(LIBDIR)/libegocore.a)
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call cprogram, $(BINDIR)/ego/$(strip $1)) $(call cprogram, $(BINDIR)/ego/$(strip $1))
$(call installto, $(PLATDEP)/ego/$(strip $1)) $(call installto, $(PLATDEP)/ego/$(strip $1))
$(eval EGO_MODULES += $q) $(eval EGO_MODULES += $q)
@ -166,9 +166,9 @@ $(call cfile, $D/em_ego/em_ego.c)
$(eval $q: $(INCDIR)/print.h $(INCDIR)/system.h) $(eval $q: $(INCDIR)/print.h $(INCDIR)/system.h)
$(eval $q: $(INCDIR)/em_path.h) $(eval $q: $(INCDIR)/em_path.h)
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call cprogram, $(BINDIR)/em_ego) $(call cprogram, $(BINDIR)/em_ego)
$(call installto, $(PLATDEP)/em_ego) $(call installto, $(PLATDEP)/em_ego)

View file

@ -16,8 +16,8 @@ define build-led-impl
$(call cfile, $D/sym.c) $(call cfile, $D/sym.c)
$(call cfile, $D/write.c) $(call cfile, $D/write.c)
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call file, $(LIBOBJECT)) $(call rawfile, $(LIBOBJECT))
$(call cprogram, $(BINDIR)/em_led) $(call cprogram, $(BINDIR)/em_led)
$(call installto, $(PLATDEP)/em_led) $(call installto, $(PLATDEP)/em_led)

View file

@ -14,13 +14,13 @@ define build-misc-impl
$(eval objdir := encode) $(eval objdir := encode)
$(call cfile, $D/convert.c) $(call cfile, $D/convert.c)
$(eval $q: $(INCDIR)/em_comp.h $(INCDIR)/em_codeEK.h) $(eval $q: $(INCDIR)/em_comp.h $(INCDIR)/em_codeEK.h)
$(call file, $(LIBREAD_EMEV)) $(call rawfile, $(LIBREAD_EMEV))
$(call file, $(LIBEMK)) $(call rawfile, $(LIBEMK))
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call cprogram, $(BINDIR)/em_encode) $(call cprogram, $(BINDIR)/em_encode)
$(call installto, $(PLATDEP)/em_encode) $(call installto, $(PLATDEP)/em_encode)
$(eval EM_ENCODE := $o) $(eval EM_ENCODE := $o)
@ -30,13 +30,13 @@ define build-misc-impl
$(eval objdir := decode) $(eval objdir := decode)
$(call cfile, $D/convert.c) $(call cfile, $D/convert.c)
$(eval $q: $(INCDIR)/em_comp.h $(INCDIR)/em_codeEK.h) $(eval $q: $(INCDIR)/em_comp.h $(INCDIR)/em_codeEK.h)
$(call file, $(LIBREAD_EMKV)) $(call rawfile, $(LIBREAD_EMKV))
$(call file, $(LIBEME)) $(call rawfile, $(LIBEME))
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call cprogram, $(BINDIR)/em_decode) $(call cprogram, $(BINDIR)/em_decode)
$(call installto, $(PLATDEP)/em_decode) $(call installto, $(PLATDEP)/em_decode)
$(eval EM_DECODE := $o) $(eval EM_DECODE := $o)

View file

@ -34,7 +34,7 @@ $(call cfile, $(OBJDIR)/$D/enterkeyw.c)
$(eval $q: $(INCDIR)/em_spec.h) $(eval $q: $(INCDIR)/em_spec.h)
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call cprogram, $(BINDIR)/ncgg) $(call cprogram, $(BINDIR)/ncgg)
$(eval NCGG := $o) $(eval NCGG := $o)

View file

@ -10,12 +10,14 @@ $(call yacc, $(OBJDIR)/$D, $D/mktab.y)
$(call flex, $(OBJDIR)/$D, $D/scan.l) $(call flex, $(OBJDIR)/$D, $D/scan.l)
$(call dependson, $(OBJDIR)/$D/y.tab.h) $(call dependson, $(OBJDIR)/$D/y.tab.h)
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, -lfl)
$(call cprogram, $(OBJDIR)/$D/mktab) $(call cprogram, $(OBJDIR)/$D/mktab)
endef endef
.PHONY: -lfl
-lfl:
define build-opt-impl define build-opt-impl
$(call reset) $(call reset)
@ -53,12 +55,12 @@ $g: $(OBJDIR)/$D/mktab $D/patterns $(BINDIR)/cpp.ansi
$(hide) $(BINDIR)/cpp.ansi < $D/patterns | $(OBJDIR)/$D/mktab > $$@ $(hide) $(BINDIR)/cpp.ansi < $D/patterns | $(OBJDIR)/$D/mktab > $$@
$(call cfile, $g) $(call cfile, $g)
$(call file, $(LIBEM_DATA)) $(call rawfile, $(LIBEM_DATA))
$(call file, $(LIBASSERT)) $(call rawfile, $(LIBASSERT))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(eval $q: $(INCDIR)/em_spec.h) $(eval $q: $(INCDIR)/em_spec.h)
@ -79,4 +81,4 @@ endef
$(eval $(build-opt-mktab-impl)) $(eval $(build-opt-mktab-impl))
$(eval $(call build-opt-impl, em_opt,)) $(eval $(call build-opt-impl, em_opt,))
$(eval $(call build-opt-impl, em_opt2, -DGLOBAL_OPT)) $(eval $(call build-opt-impl, em_opt2, -DGLOBAL_OPT))
$(eval $(build-opt-manpage-impl)) $(eval $(build-opt-manpage-impl))

View file

@ -294,6 +294,10 @@ main() {
return nerrors; return nerrors;
} }
int yywrap(void) {
return 1;
}
yyerror(s) char *s; { yyerror(s) char *s; {
fprintf(stderr,"line %d: %s\n",lino,s); fprintf(stderr,"line %d: %s\n",lino,s);

View file

@ -15,11 +15,11 @@ define build-topgen-impl
$(call llgen, $(OBJDIR)/$D, $D/topgen.g) $(call llgen, $(OBJDIR)/$D, $D/topgen.g)
$(call file, $(LIBASSERT)) $(call rawfile, $(LIBASSERT))
$(call file, $(LIBPRINT)) $(call rawfile, $(LIBPRINT))
$(call file, $(LIBALLOC)) $(call rawfile, $(LIBALLOC))
$(call file, $(LIBSYSTEM)) $(call rawfile, $(LIBSYSTEM))
$(call file, $(LIBSTRING)) $(call rawfile, $(LIBSTRING))
$(call cprogram, $(BINDIR)/topgen) $(call cprogram, $(BINDIR)/topgen)
TOPGEN := $o TOPGEN := $o