diff options
Diffstat (limited to 'exec/Makefile.in')
-rw-r--r-- | exec/Makefile.in | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/exec/Makefile.in b/exec/Makefile.in new file mode 100644 index 00000000000..36f0c0c74a9 --- /dev/null +++ b/exec/Makefile.in @@ -0,0 +1,143 @@ +### @configure_input@ + +# Copyright (C) 2023-2024 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. + +# Configure build directory information. + + srcdir = @srcdir@ + VPATH = @srcdir@ + builddir = @builddir@ + +# Set up compilation tools. + + CC = @CC@ + AS = @AS@ + LD = @LD@ + M4 = @M4@ + CPP = @CPP@ + ASFLAGS = @ASFLAGS@ + ARFLAGS = @ARFLAGS@ + CFLAGS = @CFLAGS@ + CPPFLAGS = @CPPFLAGS@ + LDFLAGS = @LDFLAGS@ +LOADERFLAGS = @LOADERFLAGS@ +FIND_DELETE = @FIND_DELETE@ + +# Set up object files. + + LOADER = @exec_loader@ + OBJS = @OBJS@ + LOADOBJS = $(patsubst %.s,%.o,$(LOADER)) + +# Set up automatic dependency tracking. + +AUTO_DEPEND = @AUTO_DEPEND@ +DEPDIR = deps +ifeq ($(AUTO_DEPEND),yes) +DEPFLAGS = -MMD -MF $(DEPDIR)/$*.d -MP +-include $(OBJS:%.o=$(DEPDIR)/%.d) +-include $(DEPDIR)/test.d +-include $(DEPDIR)/exec1.d +else +DEPFLAGS = +include $(srcdir)/deps.mk +endif + +# Set up the appropriate targets. + +all: libexec.a loader + +# Set up automatic Makefile regeneration. + +$(srcdir)/configure: $(srcdir)/configure.ac + cd $(srcdir) && autoreconf + +config.status: $(srcdir)/configure + if [ -x config.status ]; then \ + ./config.status --recheck; \ + else \ + $(srcdir)/configure; \ + fi + +Makefile: config.status Makefile.in + MAKE="$(MAKE)" ./config.status + +# Set up rules to build targets. + +.SUFFIXES: .c .s +.c.o: + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) -I. -I$(srcdir) $< -o $@ +.s.o: + $(M4) $< > $(notdir $<).s + $(AS) $(ASFLAGS) $(notdir $<).s -o $@ + +# Set up dependencies for config-mips.m4. + +config-mips.m4: config-mips.m4.in + cd $(srcdir) && ./config.status $@ +$(LOADOBJS): config-mips.m4 + +# Set up rules to build libexec.a. + +libexec.a: $(OBJS) + $(AR) cru $(ARFLAGS) $@ $^ + +# And loader. + +loader: $(LOADOBJS) + $(LD) -o $@ $(LOADERFLAGS) $(LOADOBJS) + +# And test. + +test: test.o libexec.a + $(CC) $(LDFLAGS) $< libexec.a -o $@ + +# And exec1. + +exec1: exec1.o libexec.a + $(CC) $(LDFLAGS) $< libexec.a -o $@ + +# Set up targets for cleaning. + +.PHONY: clean distclean maintainer-clean extraclean bootstrap-clean +clean: + rm -f *.o *.a loader test exec1 *.s.s +ifeq ($(AUTO_DEPEND),yes) + rm -rf deps/*.d +endif + +distclean: clean + rm -f Makefile config.status config.h config-mips.m4 + +maintainer-clean: distclean + +### This doesn't actually appear in the coding standards, but Karl +### says GCC supports it, and that's where the configuration part of +### the coding standards seem to come from. It's like distclean, but +### it deletes backup and autosave files too. + +# config.* and install-sh are copied from build-aux in the root of +# this repository by autogen.sh. +extraclean: maintainer-clean + -rm -f config-tmp-* $(srcdir)/aclocal.m4 $(srcdir)/configure \ + $(srcdir)/src/config.in $(srcdir)/config.guess \ + $(srcdir)/config.sub $(srcdir)/install-sh + -[ "$(srcdir)" = "." ] || \ + find $(srcdir) '(' -name '*~' -o -name '#*' ')' $(FIND_DELETE) + -find . '(' -name '*~' -o -name '#*' ')' $(FIND_DELETE) +bootstrap-clean: extraclean |