Add semantic passes
This commit is contained in:
99
gcc/Make-lang.in
Normal file
99
gcc/Make-lang.in
Normal file
@ -0,0 +1,99 @@
|
||||
GCCELNA_INSTALL_NAME := $(shell echo gccelna|sed '$(program_transform_name)')
|
||||
GCCELNA_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gccelna|sed '$(program_transform_name)')
|
||||
|
||||
elna: elna1$(exeext)
|
||||
|
||||
.PHONY: elna
|
||||
|
||||
# Driver
|
||||
|
||||
GCCELNA_OBJS = \
|
||||
$(GCC_OBJS) \
|
||||
elna/elna-spec.o \
|
||||
$(END)
|
||||
|
||||
gccelna$(exeext): $(GCCELNA_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
|
||||
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
|
||||
$(GCCELNA_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a \
|
||||
$(EXTRA_GCC_LIBS) $(LIBS)
|
||||
|
||||
# The compiler proper
|
||||
|
||||
elna_OBJS = \
|
||||
elna/elna1.o \
|
||||
elna/generic-visitor.o \
|
||||
elna/ast.o \
|
||||
elna/driver.o \
|
||||
elna/lexer.o \
|
||||
elna/parser.o \
|
||||
elna/result.o \
|
||||
elna/semantic.o \
|
||||
elna/symbol_table.o \
|
||||
elna/types.o \
|
||||
$(END)
|
||||
|
||||
elna1$(exeext): attribs.o $(elna_OBJS) $(BACKEND) $(LIBDEPS)
|
||||
+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
|
||||
attribs.o $(elna_OBJS) $(BACKEND) $(LIBS) $(BACKENDLIBS)
|
||||
|
||||
elna.all.cross:
|
||||
|
||||
elna.start.encap: gccelna$(exeext)
|
||||
elna.rest.encap:
|
||||
|
||||
# No elna-specific selftests.
|
||||
selftest-elna:
|
||||
|
||||
elna.install-common: installdirs
|
||||
-rm -f $(DESTDIR)$(bindir)/$(GCCELNA_INSTALL_NAME)$(exeext)
|
||||
$(INSTALL_PROGRAM) gccelna$(exeext) $(DESTDIR)$(bindir)/$(GCCELNA_INSTALL_NAME)$(exeext)
|
||||
rm -f $(DESTDIR)$(bindir)/$(GCCELNA_TARGET_INSTALL_NAME)$(exeext); \
|
||||
( cd $(DESTDIR)$(bindir) && \
|
||||
$(LN) $(GCCELNA_INSTALL_NAME)$(exeext) $(GCCELNA_TARGET_INSTALL_NAME)$(exeext) ); \
|
||||
|
||||
# Required goals, they still do nothing
|
||||
elna.install-man:
|
||||
elna.install-info:
|
||||
elna.install-pdf:
|
||||
elna.install-plugin:
|
||||
elna.install-html:
|
||||
elna.info:
|
||||
elna.dvi:
|
||||
elna.pdf:
|
||||
elna.html:
|
||||
elna.man:
|
||||
elna.mostlyclean:
|
||||
elna.clean:
|
||||
elna.distclean:
|
||||
elna.maintainer-clean:
|
||||
|
||||
# make uninstall
|
||||
elna.uninstall:
|
||||
-rm -f gccelna$(exeext) elna1$(exeext)
|
||||
-rm -f $(elna_OBJS)
|
||||
|
||||
# Used for handling bootstrap
|
||||
elna.stage1: stage1-start
|
||||
-mv elna/*$(objext) stage1/elna
|
||||
elna.stage2: stage2-start
|
||||
-mv elna/*$(objext) stage2/elna
|
||||
elna.stage3: stage3-start
|
||||
-mv elna/*$(objext) stage3/elna
|
||||
elna.stage4: stage4-start
|
||||
-mv elna/*$(objext) stage4/elna
|
||||
elna.stageprofile: stageprofile-start
|
||||
-mv elna/*$(objext) stageprofile/elna
|
||||
elna.stagefeedback: stagefeedback-start
|
||||
-mv elna/*$(objext) stagefeedback/elna
|
||||
|
||||
ELNA_INCLUDES = -I $(srcdir)/elna -I $(srcdir)/elna/generated
|
||||
|
||||
CFLAGS-elna/elna1.o += $(ELNA_INCLUDES)
|
||||
|
||||
elna/%.o: elna/source/%.cc
|
||||
$(COMPILE) $(ELNA_INCLUDES) $<
|
||||
$(POSTCOMPILE)
|
||||
|
||||
elna/%.o: elna/generated/%.cc
|
||||
$(COMPILE) $(ELNA_INCLUDES) $<
|
||||
$(POSTCOMPILE)
|
Reference in New Issue
Block a user