Merge.
--HG-- rename : util/ncgg/build.mk => util/cgg/build.mk
This commit is contained in:
		
						commit
						44b5d01525
					
				
					 26 changed files with 220 additions and 119 deletions
				
			
		| 
						 | 
				
			
			@ -51,7 +51,7 @@ endef
 | 
			
		|||
 | 
			
		||||
# --- Add a raw to the queue
 | 
			
		||||
 | 
			
		||||
define file
 | 
			
		||||
define rawfile
 | 
			
		||||
	$(eval q += $1)
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,13 +29,13 @@ $g: $D/maketokentab $(OBJDIR)/$D/Lpars.h
 | 
			
		|||
$(eval $q: $(OBJDIR)/$D/Lpars.h)
 | 
			
		||||
$(eval $q: $(INCDIR)/print.h)
 | 
			
		||||
 | 
			
		||||
$(call file, $(LIBEM_MES))
 | 
			
		||||
$(call file, $(LIBEMK))
 | 
			
		||||
$(call file, $(LIBEM_DATA))
 | 
			
		||||
$(call file, $(LIBALLOC))
 | 
			
		||||
$(call file, $(LIBPRINT))
 | 
			
		||||
$(call file, $(LIBSTRING))
 | 
			
		||||
$(call file, $(LIBSYSTEM))
 | 
			
		||||
$(call rawfile, $(LIBEM_MES))
 | 
			
		||||
$(call rawfile, $(LIBEMK))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBALLOC))
 | 
			
		||||
$(call rawfile, $(LIBPRINT))
 | 
			
		||||
$(call rawfile, $(LIBSTRING))
 | 
			
		||||
$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
$(call cprogram, $(BINDIR)/em_bem)
 | 
			
		||||
$(call installto, $(PLATDEP)/em_bem)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -134,16 +134,16 @@ $(call build-cemcom-ansi-next, \
 | 
			
		|||
 | 
			
		||||
$(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 rawfile, $(LIBEM_MES))
 | 
			
		||||
$(call rawfile, $(LIBEMK))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBINPUT))
 | 
			
		||||
$(call rawfile, $(LIBASSERT))
 | 
			
		||||
$(call rawfile, $(LIBALLOC))
 | 
			
		||||
$(call rawfile, $(LIBFLT_ARITH))
 | 
			
		||||
$(call rawfile, $(LIBPRINT))
 | 
			
		||||
$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
$(call rawfile, $(LIBSTRING))
 | 
			
		||||
$(call cprogram, $(BINDIR)/cemcom.ansi)
 | 
			
		||||
$(call installto, $(PLATDEP)/em_cemcom.ansi)
 | 
			
		||||
$(eval CEMCOMANSI := $o)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,12 +71,12 @@ define build-cpp-ansi-impl
 | 
			
		|||
 | 
			
		||||
	$(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 rawfile, $(LIBINPUT))
 | 
			
		||||
	$(call rawfile, $(LIBASSERT))
 | 
			
		||||
	$(call rawfile, $(LIBALLOC))
 | 
			
		||||
	$(call rawfile, $(LIBPRINT))
 | 
			
		||||
	$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
	$(call rawfile, $(LIBSTRING))
 | 
			
		||||
 | 
			
		||||
	$(call tabgen, $D/char.tab)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,16 +108,16 @@ $(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 rawfile, $(LIBEM_MES))
 | 
			
		||||
$(call rawfile, $(LIBEMK))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBINPUT))
 | 
			
		||||
$(call rawfile, $(LIBASSERT))
 | 
			
		||||
$(call rawfile, $(LIBALLOC))
 | 
			
		||||
$(call rawfile, $(LIBFLT_ARITH))
 | 
			
		||||
$(call rawfile, $(LIBPRINT))
 | 
			
		||||
$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
$(call rawfile, $(LIBSTRING))
 | 
			
		||||
$(call cprogram, $(BINDIR)/em_m2)
 | 
			
		||||
$(call installto, $(PLATDEP)/em_m2)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ $(eval g := \
 | 
			
		|||
 | 
			
		||||
$(foreach f, $g, \
 | 
			
		||||
	$(call reset) \
 | 
			
		||||
	$(call file, lang/m2/libm2/$f) \
 | 
			
		||||
	$(call rawfile, lang/m2/libm2/$f) \
 | 
			
		||||
	$(call installto, $(PLATIND)/include/modula2/$f))
 | 
			
		||||
 | 
			
		||||
endef
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -111,16 +111,16 @@ $(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 rawfile, $(LIBEM_MES))
 | 
			
		||||
$(call rawfile, $(LIBEMK))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBINPUT))
 | 
			
		||||
$(call rawfile, $(LIBASSERT))
 | 
			
		||||
$(call rawfile, $(LIBALLOC))
 | 
			
		||||
$(call rawfile, $(LIBFLT_ARITH))
 | 
			
		||||
$(call rawfile, $(LIBPRINT))
 | 
			
		||||
$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
$(call rawfile, $(LIBSTRING))
 | 
			
		||||
$(call cprogram, $(BINDIR)/em_pc)
 | 
			
		||||
$(call installto, $(PLATDEP)/em_pc)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,7 +36,7 @@ $(OBJDIR)/$D/preprocessed-comm2.y: mach/proto/as/comm2.y $(CPPANSI) \
 | 
			
		|||
		-Ih \
 | 
			
		||||
		mach/proto/as/comm2.y > $$@
 | 
			
		||||
 | 
			
		||||
	$(call file, $(LIBOBJECT))
 | 
			
		||||
	$(call rawfile, $(LIBOBJECT))
 | 
			
		||||
    $(call cprogram, $(BINDIR)/$(PLATFORM)/as)
 | 
			
		||||
    $(call installto, $(PLATDEP)/$(PLATFORM)/as)
 | 
			
		||||
endef
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -265,3 +265,4 @@ typedef	struct sect_t	sect_t;
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
extern FILE *fopen();   /* some systems don't have this in stdio.h */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -116,6 +116,10 @@ extern valu_t	load();
 | 
			
		|||
extern FILE	*ffcreat();
 | 
			
		||||
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 ========== */
 | 
			
		||||
 | 
			
		||||
#include	"mach1.c"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@
 | 
			
		|||
#include	"comm0.h"
 | 
			
		||||
#include	"comm1.h"
 | 
			
		||||
#include	"y.tab.h"
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
 | 
			
		||||
valu_t
 | 
			
		||||
load(ip)
 | 
			
		||||
| 
						 | 
				
			
			@ -27,7 +28,7 @@ register item_t *ip;
 | 
			
		|||
	if ((ip->i_type & S_TYP) == S_UND || (ip->i_type & S_COM)) {
 | 
			
		||||
		if (pass == PASS_3) {
 | 
			
		||||
			if (relonami != 0)
 | 
			
		||||
				serror("relocation error");
 | 
			
		||||
				serror("relocation error (relonami=%d, type=%08x)", relonami, ip->i_type);
 | 
			
		||||
			relonami = ip->i_valu+1;
 | 
			
		||||
		}
 | 
			
		||||
		return(0);
 | 
			
		||||
| 
						 | 
				
			
			@ -380,13 +381,28 @@ wr_fatal()
 | 
			
		|||
	fatal("write error");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* VARARGS1 */
 | 
			
		||||
fatal(s, a1, a2, a3, a4)
 | 
			
		||||
char *s;
 | 
			
		||||
void diag(const char* tail, const char* s, va_list ap)
 | 
			
		||||
{
 | 
			
		||||
	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++;
 | 
			
		||||
	diag(" (fatal)\n", s, a1, a2, a3, a4);
 | 
			
		||||
	diag(" (fatal)\n", s, ap);
 | 
			
		||||
	stop();
 | 
			
		||||
 | 
			
		||||
	va_end(ap);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if DEBUG == 2
 | 
			
		||||
| 
						 | 
				
			
			@ -400,37 +416,34 @@ char *file;
 | 
			
		|||
#if DEBUG == 1
 | 
			
		||||
assert1()
 | 
			
		||||
{
 | 
			
		||||
	diag(" (fatal)\n", "assertion failed");
 | 
			
		||||
	fatal("assertion failed");
 | 
			
		||||
	abort();
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* VARARGS1 */
 | 
			
		||||
serror(s, a1, a2, a3, a4)
 | 
			
		||||
char *s;
 | 
			
		||||
void serror(const char* s, ...)
 | 
			
		||||
{
 | 
			
		||||
	va_list ap;
 | 
			
		||||
	va_start(ap, s);
 | 
			
		||||
 | 
			
		||||
	nerrors++;
 | 
			
		||||
	diag("\n", s, a1, a2, a3, a4);
 | 
			
		||||
	diag("\n", s, ap);
 | 
			
		||||
	stop();
 | 
			
		||||
 | 
			
		||||
	va_end(ap);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* VARARGS1 */
 | 
			
		||||
warning(s, a1, a2, a3, a4)
 | 
			
		||||
char *s;
 | 
			
		||||
void warning(const char* s, ...)
 | 
			
		||||
{
 | 
			
		||||
	diag(" (warning)\n", s, a1, a2, a3, a4);
 | 
			
		||||
}
 | 
			
		||||
	va_list ap;
 | 
			
		||||
	va_start(ap, s);
 | 
			
		||||
 | 
			
		||||
/* VARARGS1 */
 | 
			
		||||
diag(tail, s, a1, a2, a3, a4)
 | 
			
		||||
char *tail, *s;
 | 
			
		||||
{
 | 
			
		||||
	fflush(stdout);
 | 
			
		||||
	if (modulename)
 | 
			
		||||
		fprintf(stderr, "\"%s\", line %ld: ", modulename, lineno);
 | 
			
		||||
	else
 | 
			
		||||
		fprintf(stderr, "%s: ", progname);
 | 
			
		||||
	fprintf(stderr, s, a1, a2, a3, a4);
 | 
			
		||||
	fprintf(stderr, tail);
 | 
			
		||||
	nerrors++;
 | 
			
		||||
	diag(" (warning)\n", s, ap);
 | 
			
		||||
	stop();
 | 
			
		||||
 | 
			
		||||
	va_end(ap);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nofit()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										46
									
								
								mach/proto/cg/build.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								mach/proto/cg/build.mk
									
										
									
									
									
										Normal 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))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -36,8 +36,8 @@ $(call cfile, $(OBJDIR)/$D/tables.c)
 | 
			
		|||
 | 
			
		||||
$(eval $q: $(INCDIR)/flt_arith.h)
 | 
			
		||||
 | 
			
		||||
$(call file, $(LIBEM_DATA))
 | 
			
		||||
$(call file, $(LIBFLT_ARITH))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBFLT_ARITH))
 | 
			
		||||
 | 
			
		||||
$(call cprogram, $(BINDIR)/$(PLATFORM)/ncg)
 | 
			
		||||
$(call installto, $(PLATDEP)/$(PLATFORM)/ncg)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ define build-platform-impl
 | 
			
		|||
			$(PLATIND)/descr/$(PLATFORM) \
 | 
			
		||||
			$(PLATFORM_HEADERS_$(PLATFORM)) \
 | 
			
		||||
			$(PLATDEP)/$(PLATFORM)/as \
 | 
			
		||||
			$(PLATDEP)/$(PLATFORM)/ncg \
 | 
			
		||||
			$(if $(arch-cg-$(ARCH)), $(PLATDEP)/$(PLATFORM)/cg, $(PLATDEP)/$(PLATFORM)/ncg) \
 | 
			
		||||
			$(ARCHITECTURE_$(ARCH)))
 | 
			
		||||
 | 
			
		||||
	# libsys
 | 
			
		||||
| 
						 | 
				
			
			@ -48,7 +48,7 @@ define build-platform-impl
 | 
			
		|||
    # The tools themselves
 | 
			
		||||
 | 
			
		||||
    $(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.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
define build-simple-tool-impl
 | 
			
		||||
	$(call reset)
 | 
			
		||||
	$(call cfile, util/amisc/$1.c)
 | 
			
		||||
	$(call file, $(LIBOBJECT))
 | 
			
		||||
	$(call rawfile, $(LIBOBJECT))
 | 
			
		||||
	$(call cprogram, $(BINDIR)/$1)
 | 
			
		||||
	$(eval INSTALLABLES += $o)
 | 
			
		||||
	$(call installto, $(INSDIR)/bin/$1)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,10 +6,10 @@ define build-aal-impl
 | 
			
		|||
 | 
			
		||||
	$(call cfile, $D/archiver.c)
 | 
			
		||||
 | 
			
		||||
	$(call file, $(LIBOBJECT))
 | 
			
		||||
	$(call file, $(LIBPRINT))
 | 
			
		||||
	$(call file, $(LIBSTRING))
 | 
			
		||||
	$(call file, $(LIBSYSTEM))
 | 
			
		||||
	$(call rawfile, $(LIBOBJECT))
 | 
			
		||||
	$(call rawfile, $(LIBPRINT))
 | 
			
		||||
	$(call rawfile, $(LIBSTRING))
 | 
			
		||||
	$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
 | 
			
		||||
	$(call cprogram, $(BINDIR)/aal)
 | 
			
		||||
	$(call installto, $(INSDIR)/bin/aal)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										25
									
								
								util/cgg/build.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								util/cgg/build.mk
									
										
									
									
									
										Normal 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))
 | 
			
		||||
| 
						 | 
				
			
			@ -1009,3 +1009,8 @@ max(a,b) {
 | 
			
		|||
		return(a);
 | 
			
		||||
	return(b);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int yywrap(void) {
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,12 +3,13 @@ D := util/data
 | 
			
		|||
define util-data-impl
 | 
			
		||||
 | 
			
		||||
$(eval g := \
 | 
			
		||||
	$(OBJDIR)/$D/em_flag.c \
 | 
			
		||||
	$(OBJDIR)/$D/em_pseu.c \
 | 
			
		||||
	$(OBJDIR)/$D/em_mnem.c \
 | 
			
		||||
	$(INCDIR)/em_spec.h \
 | 
			
		||||
	$(INCDIR)/em_pseu.h \
 | 
			
		||||
	$(INCDIR)/em_mnem.h \
 | 
			
		||||
	$(OBJDIR)/$D/em_flag.c \
 | 
			
		||||
	$(OBJDIR)/$D/em_pseu.c \
 | 
			
		||||
	$(OBJDIR)/$D/em_mnem.c)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
$(eval CLEANABLES += $g)
 | 
			
		||||
$(wordlist 2, $(words $g), $g): $(firstword $g)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,8 +6,8 @@ $(call reset)
 | 
			
		|||
$(eval cflags += -DVERBOSE -DNOTCOMPACT)
 | 
			
		||||
$(eval cflags += -I$D/share -I$(OBJDIR)/$D)
 | 
			
		||||
$(foreach f, $2, $(call cfile, $f))
 | 
			
		||||
$(call file, $(LIBDIR)/libegocore.a)
 | 
			
		||||
$(call file, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBDIR)/libegocore.a)
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call cprogram, $(BINDIR)/ego/$(strip $1))
 | 
			
		||||
$(call installto, $(PLATDEP)/ego/$(strip $1))
 | 
			
		||||
$(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)/em_path.h)
 | 
			
		||||
 | 
			
		||||
$(call file, $(LIBPRINT))
 | 
			
		||||
$(call file, $(LIBSTRING))
 | 
			
		||||
$(call file, $(LIBSYSTEM))
 | 
			
		||||
$(call rawfile, $(LIBPRINT))
 | 
			
		||||
$(call rawfile, $(LIBSTRING))
 | 
			
		||||
$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
 | 
			
		||||
$(call cprogram, $(BINDIR)/em_ego)
 | 
			
		||||
$(call installto, $(PLATDEP)/em_ego)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,8 +16,8 @@ define build-led-impl
 | 
			
		|||
	$(call cfile, $D/sym.c)
 | 
			
		||||
	$(call cfile, $D/write.c)
 | 
			
		||||
 | 
			
		||||
	$(call file, $(LIBSTRING))
 | 
			
		||||
	$(call file, $(LIBOBJECT))
 | 
			
		||||
	$(call rawfile, $(LIBSTRING))
 | 
			
		||||
	$(call rawfile, $(LIBOBJECT))
 | 
			
		||||
 | 
			
		||||
	$(call cprogram, $(BINDIR)/em_led)
 | 
			
		||||
	$(call installto, $(PLATDEP)/em_led)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,13 +14,13 @@ define build-misc-impl
 | 
			
		|||
	$(eval objdir := encode)
 | 
			
		||||
	$(call cfile, $D/convert.c)
 | 
			
		||||
	$(eval $q: $(INCDIR)/em_comp.h $(INCDIR)/em_codeEK.h)
 | 
			
		||||
	$(call file, $(LIBREAD_EMEV))
 | 
			
		||||
	$(call file, $(LIBEMK))
 | 
			
		||||
	$(call file, $(LIBEM_DATA))
 | 
			
		||||
	$(call file, $(LIBALLOC))
 | 
			
		||||
	$(call file, $(LIBPRINT))
 | 
			
		||||
	$(call file, $(LIBSTRING))
 | 
			
		||||
	$(call file, $(LIBSYSTEM))
 | 
			
		||||
	$(call rawfile, $(LIBREAD_EMEV))
 | 
			
		||||
	$(call rawfile, $(LIBEMK))
 | 
			
		||||
	$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
	$(call rawfile, $(LIBALLOC))
 | 
			
		||||
	$(call rawfile, $(LIBPRINT))
 | 
			
		||||
	$(call rawfile, $(LIBSTRING))
 | 
			
		||||
	$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
	$(call cprogram, $(BINDIR)/em_encode)
 | 
			
		||||
	$(call installto, $(PLATDEP)/em_encode)
 | 
			
		||||
	$(eval EM_ENCODE := $o)
 | 
			
		||||
| 
						 | 
				
			
			@ -30,13 +30,13 @@ define build-misc-impl
 | 
			
		|||
	$(eval objdir := decode)
 | 
			
		||||
	$(call cfile, $D/convert.c)
 | 
			
		||||
	$(eval $q: $(INCDIR)/em_comp.h $(INCDIR)/em_codeEK.h)
 | 
			
		||||
	$(call file, $(LIBREAD_EMKV))
 | 
			
		||||
	$(call file, $(LIBEME))
 | 
			
		||||
	$(call file, $(LIBEM_DATA))
 | 
			
		||||
	$(call file, $(LIBALLOC))
 | 
			
		||||
	$(call file, $(LIBPRINT))
 | 
			
		||||
	$(call file, $(LIBSTRING))
 | 
			
		||||
	$(call file, $(LIBSYSTEM))
 | 
			
		||||
	$(call rawfile, $(LIBREAD_EMKV))
 | 
			
		||||
	$(call rawfile, $(LIBEME))
 | 
			
		||||
	$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
	$(call rawfile, $(LIBALLOC))
 | 
			
		||||
	$(call rawfile, $(LIBPRINT))
 | 
			
		||||
	$(call rawfile, $(LIBSTRING))
 | 
			
		||||
	$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
	$(call cprogram, $(BINDIR)/em_decode)
 | 
			
		||||
	$(call installto, $(PLATDEP)/em_decode)
 | 
			
		||||
	$(eval EM_DECODE := $o)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@ $(call cfile, $(OBJDIR)/$D/enterkeyw.c)
 | 
			
		|||
 | 
			
		||||
$(eval $q: $(INCDIR)/em_spec.h)
 | 
			
		||||
 | 
			
		||||
$(call file, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call cprogram, $(BINDIR)/ncgg)
 | 
			
		||||
$(eval NCGG := $o)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,12 +10,14 @@ $(call yacc, $(OBJDIR)/$D, $D/mktab.y)
 | 
			
		|||
$(call flex, $(OBJDIR)/$D, $D/scan.l)
 | 
			
		||||
$(call dependson, $(OBJDIR)/$D/y.tab.h)
 | 
			
		||||
 | 
			
		||||
$(call file, $(LIBEM_DATA))
 | 
			
		||||
$(call file, -lfl)
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call cprogram, $(OBJDIR)/$D/mktab)
 | 
			
		||||
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
.PHONY: -lfl
 | 
			
		||||
-lfl:
 | 
			
		||||
 | 
			
		||||
define build-opt-impl
 | 
			
		||||
 | 
			
		||||
$(call reset)
 | 
			
		||||
| 
						 | 
				
			
			@ -53,12 +55,12 @@ $g: $(OBJDIR)/$D/mktab $D/patterns $(BINDIR)/cpp.ansi
 | 
			
		|||
	$(hide) $(BINDIR)/cpp.ansi < $D/patterns | $(OBJDIR)/$D/mktab > $$@
 | 
			
		||||
$(call cfile, $g)
 | 
			
		||||
 | 
			
		||||
$(call file, $(LIBEM_DATA))
 | 
			
		||||
$(call file, $(LIBASSERT))
 | 
			
		||||
$(call file, $(LIBPRINT))
 | 
			
		||||
$(call file, $(LIBALLOC))
 | 
			
		||||
$(call file, $(LIBSYSTEM))
 | 
			
		||||
$(call file, $(LIBSTRING))
 | 
			
		||||
$(call rawfile, $(LIBEM_DATA))
 | 
			
		||||
$(call rawfile, $(LIBASSERT))
 | 
			
		||||
$(call rawfile, $(LIBPRINT))
 | 
			
		||||
$(call rawfile, $(LIBALLOC))
 | 
			
		||||
$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
$(call rawfile, $(LIBSTRING))
 | 
			
		||||
 | 
			
		||||
$(eval $q: $(INCDIR)/em_spec.h)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -294,6 +294,10 @@ main() {
 | 
			
		|||
	return nerrors;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int yywrap(void) {
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
yyerror(s) char *s; {
 | 
			
		||||
 | 
			
		||||
	fprintf(stderr,"line %d: %s\n",lino,s);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,11 +15,11 @@ define build-topgen-impl
 | 
			
		|||
 | 
			
		||||
	$(call llgen, $(OBJDIR)/$D, $D/topgen.g)
 | 
			
		||||
 | 
			
		||||
	$(call file, $(LIBASSERT))
 | 
			
		||||
	$(call file, $(LIBPRINT))
 | 
			
		||||
	$(call file, $(LIBALLOC))
 | 
			
		||||
	$(call file, $(LIBSYSTEM))
 | 
			
		||||
	$(call file, $(LIBSTRING))
 | 
			
		||||
	$(call rawfile, $(LIBASSERT))
 | 
			
		||||
	$(call rawfile, $(LIBPRINT))
 | 
			
		||||
	$(call rawfile, $(LIBALLOC))
 | 
			
		||||
	$(call rawfile, $(LIBSYSTEM))
 | 
			
		||||
	$(call rawfile, $(LIBSTRING))
 | 
			
		||||
 | 
			
		||||
	$(call cprogram, $(BINDIR)/topgen)
 | 
			
		||||
	TOPGEN := $o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue