100 lines
2.4 KiB
Plaintext
100 lines
2.4 KiB
Plaintext
|
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)
|