Page MenuHomeSoftware Heritage

Makefile.in
No OneTemporary

Makefile.in

# This source code is released for free distribution under the terms
# of the GNU General Public License version 2 or (at your option) any
# later version.
#
# Makefile for UNIX-like platforms.
# These are the names of the installed programs, in case you wish to change
# them.
#
CTAGS_PROG = @ctags_name_executable@
ETAGS_PROG = @etags_name_executable@
# Set this to the path to your shell (must run Bourne shell commands).
#
SHELL = /bin/sh
# GNU Autoconf variables. These are set by the "configure" script when it
# runs.
#
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
prefix = @prefix@
bindir = @bindir@
srcdir = @srcdir@
libdir = @libdir@
incdir = @includedir@
mandir = @mandir@
datadir = @datadir@
pkgdatadir = @pkgdatadir@
sysconfdir = @sysconfdir@
pkgsysconfdir = @pkgsysconfdir@
libexecdir = @libexecdir@
pkglibexecdir = @pkglibexecdir@
SLINK = @LN_S@
STRIP = @STRIP@
ifdef SPARSE
SPARSEFLAGS=-Wsparse-all
CC = cgcc $(SPARSEFLAGS)
else
CC = @CC@
endif
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@ $(COVERAGE_LDFLAGS)
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
TINST_ROOT=tinst-root
# If you cannot run the "configure" script to set the variables above, then
# uncomment the defines below and customize them for your environment. If
# your system does not support symbolic (soft) links, then remove the -s
# from SLINK.
#
#srcdir = .
#bindir = /usr/local/bin
#mandir = /usr/local/man
#SLINK = ln -s
#STRIP = strip
#CC = cc
#DEFS = -DHAVE_CONFIG_H
#CFLAGS = -O
#LDFLAGS=
ifdef COVERAGE
COVERAGE_CFLAGS=--coverage
COVERAGE_LDFLAGS=--coverage
endif
ALL_CFLAGS = $(CFLAGS) --std=gnu99 -Wall $(COVERAGE_CFLAGS)
DEBUG_CPPFLAGS ?= -DDEBUG
ALL_CPPFLAGS = $(CPPFLAGS) \
$(DEBUG_CPPFLAGS) \
-DDATADIR=\"$(pkgdatadir)\" \
-DPKGCONFDIR=\"$(pkgsysconfdir)\" \
-DPKGLIBEXECDIR=\"$(pkglibexecdir)\"
include $(srcdir)/source.mak
#
#--- You should not need to modify anything below this line. ---#
#
.SUFFIXES:
.SUFFIXES: .c .$(OBJEXT)
VPATH = $(srcdir) $(srcdir)/data/corpora \
$(srcdir)/data/optlib $(srcdir)/gnu_regex $(srcdir)/fnmatch
INSTALL = cp -p
INSTALL_PROG = $(INSTALL)
INSTALL_DATA = $(INSTALL)
READ_LIB = readtags.$(OBJEXT)
READ_INC = readtags.h
MANPAGE = ctags.1
AUTO_GEN = configure config.h.in
CONFIG_GEN = config.cache config.log config.status config.run config.h ctags.1 Makefile
#
# names for installed man pages
#
manext = 1
man1dir = $(mandir)/man1
CMAN = $(CTAGS_PROG).$(manext)
EMAN = $(ETAGS_PROG).$(manext)
#
# corpora files
#
corporadir = $(pkgdatadir)/corpora
pkgconf_corporadir = $(pkgsysconfdir)/corpora
CORPORA = ctags.ctags RFC1213-MIB.txt
#
# preload
#
preloaddir = $(pkgdatadir)/preload
pkgconf_preloaddir = $(pkgsysconfdir)/preload
PRELOAD_OPTLIB = \
\
coffee.ctags \
ctags.ctags \
gdbinit.ctags \
m4.ctags \
mib.ctags \
\
$(NULL)
DEFAULT_PRELOAD_FILE=default.ctags
#
# config files
#
optlibdir = $(pkgdatadir)/optlib
pkgconf_optlibdir = $(pkgsysconfdir)/optlib
OPTLIB = $(PRELOAD_OPTLIB)
#
# drivers
#
driversdir = $(pkglibexecdir)/drivers
DRIVERS = coffeetags
#
# destinations for installed files
#
CTAGS_EXEC = $(CTAGS_PROG)$(EXEEXT)
ETAGS_EXEC = $(ETAGS_PROG)$(EXEEXT)
READ_CMD = readtags$(EXEEXT)
DEST_CTAGS = $(bindir)/$(CTAGS_EXEC)
DEST_ETAGS = $(bindir)/$(ETAGS_EXEC)
DEST_READ_CMD = $(bindir)/$(READ_CMD)
DEST_READ_LIB = $(libdir)/$(READ_LIB)
DEST_READ_INC = $(incdir)/$(READ_INC)
DEST_CMAN = $(man1dir)/$(CMAN)
DEST_EMAN = $(man1dir)/$(EMAN)
#
# Silent/verbose commands
#
# when V is not set the output of commands is ommited or simplified
#
V ?= 0
SILENT = $(SILENT_$(V))
SILENT_0 = @
SILENT_1 =
V_CC = $(V_CC_$(V))
V_CC_0 = @echo [CC] $@;
V_CC_1 =
#
# primary rules
#
all: $(CTAGS_EXEC) $(READ_LIB) $(READ_CMD)
$(CTAGS_EXEC): $(OBJECTS)
$(V_CC) $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
$(READ_CMD): readtags.c readtags.h
$(V_CC) $(CC) -DREADTAGS_MAIN -I. -I$(srcdir) -I$(srcdir)/main $(DEFS) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(srcdir)/readtags.c
$(OBJECTS): $(HEADERS) config.h Makefile
# Regenerate the Makefile whenever this file (it's source) changed. Any target
# should trigger this as it may affect their rules. This implementation only
# works with GNU make but should be harmless for other implementations.
%: Makefile
Makefile: Makefile.in config.status
$(SILENT) ./config.status --file $@
config.h: config.h.in config.status
$(SILENT) ./config.status --header $@
# Regenerate the build system whenever it changed
config.status: configure
$(SILENT) ./config.status --recheck
configure: configure.ac
$(SILENT) cd $(srcdir) && autoreconf -vi
#
# generic install rules
#
install: @install_targets@
install-strip: install
install-ctags: install-cbin install-cman
install-etags: install-ebin install-eman
INSTALLDIRS = $(bindir) $(man1dir) $(libdir) $(incdir) \
$(corporadir) $(optlibdir) $(preloaddir) $(driversdir) \
$(pkgconf_corporadir) $(pkgconf_optlibdir) $(pkgconf_preloaddir)
$(addprefix $(DESTDIR),$(INSTALLDIRS)):
$(srcdir)/mkinstalldirs $@
FORCE:
#
# install the executables
#
install-bin: install-cbin install-ebin install-lib install-cmd
install-cbin: $(DEST_CTAGS)
install-ebin: $(DEST_ETAGS)
install-lib: $(DEST_READ_LIB) $(DEST_READ_INC)
install-cmd: $(DEST_READ_CMD)
$(DEST_CTAGS): $(CTAGS_EXEC) $(DESTDIR)$(bindir) FORCE
$(INSTALL_PROG) $(CTAGS_EXEC) $(DESTDIR)$@ && chmod 755 $(DESTDIR)$@
$(DEST_ETAGS):
- if [ -x $(DESTDIR)$(DEST_CTAGS) ]; then \
cd $(DESTDIR)$(bindir) && $(SLINK) $(CTAGS_EXEC) $(ETAGS_EXEC); \
fi
#
# install the man pages
#
install-man: install-cman install-eman
install-cman: $(DEST_CMAN)
install-eman: $(DEST_EMAN)
$(DEST_CMAN): $(DESTDIR)$(man1dir) $(MANPAGE) FORCE
- $(INSTALL_DATA) $(MANPAGE) $(DESTDIR)$@ && chmod 644 $(DESTDIR)$@
$(DEST_EMAN):
- if [ -f $(DESTDIR)$(DEST_CMAN) ]; then \
cd $(DESTDIR)$(man1dir) && $(SLINK) $(CMAN) $(EMAN); \
fi
#
# install the library
#
$(DEST_READ_LIB): $(READ_LIB) $(DESTDIR)$(libdir) FORCE
$(INSTALL_PROG) $(READ_LIB) $(DESTDIR)$@ && chmod 644 $(DESTDIR)$@
$(DEST_READ_INC): $(READ_INC) $(DESTDIR)$(incdir) FORCE
$(INSTALL_PROG) $(READ_INC) $(DESTDIR)$@ && chmod 644 $(DESTDIR)$@
#
# install the readtags command
#
$(DEST_READ_CMD): $(READ_CMD) $(DESTDIR)$(bindir) FORCE
$(INSTALL_PROG) $(READ_CMD) $(DESTDIR)$@ && chmod 755 $(DESTDIR)$@
#
# install data
#
install-data: @install_data_targets@
install-data-corpora: $(addprefix data/corpora/,$(CORPORA)) $(DESTDIR)$(corporadir) $(DESTDIR)$(pkgconf_corporadir) FORCE
for c in $(CORPORA); do \
$(INSTALL_DATA) $(srcdir)/data/corpora/$$c $(DESTDIR)$(corporadir)/$$c && chmod 644 $(DESTDIR)$(corporadir)/$$c; \
done
install-data-optlib: $(addprefix data/optlib/,$(OPTLIB)) $(DESTDIR)$(optlibdir) $(DESTDIR)$(pkgconf_optlibdir) FORCE
for c in $(OPTLIB); do \
$(INSTALL_DATA) $(srcdir)/data/optlib/$$c $(DESTDIR)$(optlibdir)/$$c && chmod 644 $(DESTDIR)$(optlibdir)/$$c; \
done
install-data-preload: $(DESTDIR)$(preloaddir) $(DESTDIR)$(pkgconf_preloaddir) FORCE
echo > $(DESTDIR)$(preloaddir)/$(DEFAULT_PRELOAD_FILE)
for c in $(PRELOAD_OPTLIB); do \
echo "--options=$$(basename $$c .ctags)" >> $(DESTDIR)$(preloaddir)/$(DEFAULT_PRELOAD_FILE); \
done
chmod 644 $(DESTDIR)$(preloaddir)/$(DEFAULT_PRELOAD_FILE)
#
# install libexec
#
install-libexec: @install_libexec_targets@
install-libexec-drivers: $(addprefix libexec/drivers/,$(DRIVERS)) $(DESTDIR)$(driversdir) FORCE
for x in $(DRIVERS); do \
$(INSTALL_PROG) $(srcdir)/libexec/drivers/$$x $(DESTDIR)$(driversdir)/$$x && chmod 755 $(DESTDIR)$(driversdir)/$$x; \
done
#
# rules for uninstalling
#
uninstall: uninstall-bin uninstall-lib uninstall-cmd uninstall-man uninstall-data uninstall-libexec
uninstall-bin:
- rm -f $(DEST_CTAGS) $(DEST_ETAGS)
uninstall-lib:
- rm -f $(DEST_READ_LIB) $(DEST_READ_INC)
uninstall-cmd:
- rm -f $(DEST_READ_CMD)
uninstall-man:
- rm -f $(DEST_CMAN) $(DEST_EMAN)
uninstall-ctags:
- rm -f $(DEST_CTAGS) $(DEST_CMAN)
uninstall-etags:
- rm -f $(DEST_ETAGS) $(DEST_EMAN)
uninstall-data: uninstall-corpora uninstall-optlib uninstall-preload
- rmdir $(pkgdatadir)
- rmdir $(pkgsysconfdir)
uninstall-corpora:
- rm -f $(addprefix $(corporadir)/,$(CORPORA))
- rmdir $(corporadir)
- rmdir $(pkgconf_corporadir)
uninstall-optlib:
- rm -f $(addprefix $(optlibdir)/,$(OPTLIB))
- rmdir $(optlibdir)
- rmdir $(pkgconf_optlibdir)
uninstall-preload:
- rm -f $(preloaddir)/$(DEFAULT_PRELOAD_FILE)
- rmdir $(preloaddir)
- rmdir $(pkgconf_preloaddir)
uninstall-libexec: uninstall-drivers
- rmdir $(pkglibexecdir)
uninstall-drivers:
- rm -f $(addprefix $(driversdir)/,$(DRIVERS))
- rmdir $(driversdir)
#
# miscellaneous rules
#
tags: $(CTAGS_EXEC)
./$(CTAGS_EXEC) $(srcdir)/*
TAGS: $(CTAGS_EXEC)
./$(CTAGS_EXEC) -e $(srcdir)/*
clean: clean-units clean-gcov clean-tmain
$(SILENT) echo Cleaning top level
$(SILENT) rm -f $(OBJECTS) $(CTAGS_EXEC) tags TAGS $(READ_LIB)
$(SILENT) rm -f $(SOURCES:.c=.gcno)
mostlyclean: clean
distclean: clean
rm -f $(CONFIG_GEN)
maintainerclean: distclean
rm -f $(AUTO_GEN)
rm -rf autom4te.cache/
#
# implicit rules
#
.c.$(OBJEXT):
$(SILENT) dir="$$(dirname $@)"; mkdir -p "$$dir"
$(V_CC) $(CC) -I. -I$(srcdir) -I$(srcdir)/main $(DEFS) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -o $@ -c $<
$(addsuffix .$(OBJEXT),$(basename $(notdir $(REGEX_SOURCES)))): ALL_CPPFLAGS += \
-D_GNU_SOURCE -D__USE_GNU -Dbool=int -Dfalse=0 -Dtrue=1
REV := $(shell git rev-parse --short HEAD 2>/dev/null || echo 0)
ALL_CPPFLAGS += -DCTAGS_COMMIT_ID=0x$(REV)
options.$(OBJEXT): commit-stamp
entry.$(OBJEXT): commit-stamp
commit-stamp: FORCE
echo "$(REV)" > $@.tmp
if diff -q $@ $@.tmp; then rm -f $@.tmp; else mv -f $@.tmp $@; fi
#
# check
#
CTAGS_TEST = ./$(CTAGS_EXEC)
ifdef VG
VALGRIND=--with-valgrind
endif
ifdef SHRINK
RUN_SHRINK=--run-shrink
endif
TIMEOUT=
LANGUAGES=
CATEGORIES=
UNITS=
ifdef TRAVIS
SHOW_DIFF_OUTPUT=--show-diff-output
endif
.PHONY: check units fuzz noise tmain tinst clean-units clean-tmain clean-gcov run-gcov codecheck help
check: tmain units
#
# FUZZ Target
#
# SHELL must be dash or bash.
#
fuzz: TIMEOUT := $(shell timeout --version > /dev/null 2>&1 && echo 1 || echo 0)
fuzz: $(CTAGS_TEST)
@ \
c="$(srcdir)/misc/units fuzz \
--ctags=$(CTAGS_TEST) \
--languages=$(LANGUAGES) \
--datadir=$(srcdir)/data \
--libexecdir=$(srcdir)/libexec \
$(VALGRIND) $(RUN_SHRINK) \
--with-timeout=$(TIMEOUT)"; \
$(SHELL) $${c} $(srcdir)/Units
#
# NOISE Target
#
noise: $(CTAGS_TEST)
@ \
c="$(srcdir)/misc/units noise \
--ctags=$(CTAGS_TEST) \
--languages=$(LANGUAGES) \
--datadir=$(srcdir)/data \
--libexecdir=$(srcdir)/libexec \
$(VALGRIND) $(RUN_SHRINK) \
--with-timeout=$(TIMEOUT)"; \
$(SHELL) $${c} $(srcdir)/Units
#
# UNITS Target
#
units: TIMEOUT := $(shell timeout --version > /dev/null 2>&1 && echo 5 || echo 0)
units: $(CTAGS_TEST)
@ \
builddir=$$(pwd); \
mkdir -p $${builddir}/Units && \
\
c="$(srcdir)/misc/units run \
--ctags=$(CTAGS_TEST) \
--languages=$(LANGUAGES) \
--categories=$(CATEGORIES) \
--units=$(UNITS) \
--datadir=$(srcdir)/data \
--libexecdir=$(srcdir)/libexec \
$(VALGRIND) $(RUN_SHRINK) \
--with-timeout=$(TIMEOUT) \
$(SHOW_DIFF_OUTPUT)"; \
$(SHELL) $${c} $(srcdir)/Units $${builddir}/Units
clean-units:
$(SILENT) echo Cleaning test units
$(SILENT) builddir=$$(pwd); \
$(SHELL) $(srcdir)/misc/units clean $${builddir}/Units
#
# Test main part, not parsers
#
tmain: $(CTAGS_TEST)
@ \
\
builddir=$$(pwd); \
mkdir -p $${builddir}/Tmain && \
\
c="$(srcdir)/misc/units tmain \
--ctags=$(CTAGS_TEST) \
--datadir=$(srcdir)/data \
--libexecdir=$(srcdir)/libexec \
$(VALGRIND) \
$(SHOW_DIFF_OUTPUT)"; \
$(SHELL) $${c} $(srcdir)/Tmain $${builddir}/Tmain
clean-tmain:
$(SILENT) echo Cleaning main part tests
$(SILENT) builddir=$$(pwd); \
$(SHELL) $(srcdir)/misc/units clean-tmain $${builddir}/Tmain
#
# Test installation
#
tinst:
@ \
\
builddir=$$(pwd); \
rm -rf $$builddir/$(TINST_ROOT); \
\
$(SHELL) $(srcdir)/misc/tinst $(srcdir) $$builddir/$(TINST_ROOT)
#
# Checking code in ctags own rules
#
codecheck:
$(SHELL) misc/src-check
#
# Report coverage (usable only if ctags is built with COVERAGE=1.)
#
run-gcov:
$(CTAGS_TEST) -o - $$(find ./Units -name 'input.*'| grep -v '.*b/.*') > /dev/null
gcov $$(find -name '*.gcda')
clean-gcov:
$(SILENT) echo Cleaning coverage reports
$(SILENT) rm -f $(SOURCES:.c=.gcda)
$(SILENT) rm -f $(srcdir)/*.gcov
#
# Help
#
help:
@echo "Compilation targets:"
@echo ""
@echo "make - Build $(CTAGS_PROG)"
@echo "make V=1 - Build $(CTAGS_PROG) - verbose output"
@echo "make -f mk_mingw.mak - Build $(CTAGS_PROG) using MinGW"
@echo "make -f mk_mingw.mak V=1 - Build $(CTAGS_PROG) using MinGW - verbose output"
@echo ""
@echo "Testing targets:"
@echo ""
@echo "make units - Run parser unit test cases"
@echo "make tmain - Run ctags main functionality test cases"
@echo "make fuzz - Verify that all parsers are able to properly process each available test unit"
@echo "make noise - TODO"
@echo
@echo "Arguments that can be used in testing targets:"
@echo "VG=1 - Run test cases with Valgrind memory profiler"
@echo "LANGUAGES=<language>[,<language>] - Only run test cases of the selected languages"
@echo "CATEGORIES=<category> - Only run tests available under folder Units/<category>.r"
# vi:set tabstop=8:

File Metadata

Mime Type
text/x-makefile
Expires
Jun 4 2025, 6:41 PM (14 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3398705

Event Timeline