magic/scripts/defs.mak.in

187 lines
7.1 KiB
Makefile
Raw Normal View History

# defs.mak.in --
# source file for autoconf-generated "defs.mak" for magic
# @configure_input@
# Feel free to change the values in here to suit your needs.
# Be aware that running scripts/configure again will overwrite
# any changes!
SHELL = @SHELL@
build: VPATH-enable shared make machinery (out-of-tree) With the autoconf layer relocatable, teach the shared make files to read sources from the source tree and write objects into the build tree. The ~26 "standard" and "near-standard" module Makefiles now build out-of-tree with no per-module edits. scripts/defs.mak.in: * Add MAGICSRC = @abs_top_srcdir@ (absolute source top) and derive each module's srcdir/VPATH from CURDIR relative to the build top: BUILD_TOP := $(abspath $(MAGICDIR)) MODULE_SUBPATH := $(subst $(BUILD_TOP),,$(CURDIR)) srcdir := $(MAGICSRC)$(MODULE_SUBPATH) VPATH := $(srcdir) (MAGICDIR keeps meaning the *build* top; in-tree the trees coincide.) * CPPFLAGS: add -I${MAGICSRC} (source top, for "<module>/<hdr>.h") and -I${srcdir} (same-dir headers), keeping -I${MAGICDIR} for the generated database/database.h in the build top. * MAGIC_VERSION/REVISION read ${MAGICSRC}/VERSION; MAGIC_COMMIT uses `git -C ${MAGICSRC}` so it works from a build dir outside the work-tree. rules.mak: * Compile rule: `-c $*.c` -> `-c $< -o $@` so the source is found via VPATH in srcdir and the object is written to the build cwd. * Depend and tags rules: prefix sources with $(srcdir)/ (they are passed to the compiler/ctags directly, which do not honor VPATH). scripts/configure.in: AC_CONFIG_FILES([rules.mak:rules.mak]) copies the VPATH-aware rules.mak into the build top, so a single ${MAGICDIR} resolves both `include`s in every subdir Makefile. Regenerated configure. Known limitation (v1): the Depend post-processing sed strips absolute-path headers, so with an absolute srcdir most header deps are dropped; out-of-tree incremental header-change rebuilds are weaker. Depend is already "optimistic/optional"; relativizing is a follow-up. Verified out-of-tree: `tiles` and `drc` (the latter #includes the generated database/database.h) build to completion; all objects land in the build tree; the source tree stays clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:33:37 +02:00
# --- out-of-tree (VPATH) support ------------------------------------------
# MAGICDIR is set by each subdir Makefile to the relative path back to the
# *build* top (that is where the generated defs.mak / rules.mak live, and where
# the generated database/database.h is written). MAGICSRC is the absolute path
# to the *source* top. For an in-tree build the two trees coincide.
MAGICSRC = @abs_top_srcdir@
# Derive this module's source directory (and VPATH) from where make is running
# (CURDIR, a build directory) relative to the build top (abspath of MAGICDIR):
# build top = $(abspath $(MAGICDIR))
# subpath = "/tiles", or "" at the top
# srcdir = $(MAGICSRC)$(subpath)
BUILD_TOP := $(abspath $(MAGICDIR))
# Anchored prefix strip (patsubst matches the whole word, so BUILD_TOP must be a
# leading prefix): "" at the build top, "/tiles" in a subdir. Unlike $(subst …)
# this cannot mis-fire if BUILD_TOP happens to recur later in the path.
MODULE_SUBPATH := $(patsubst $(BUILD_TOP)%,%,$(CURDIR))
srcdir := $(MAGICSRC)$(MODULE_SUBPATH)
build: top Makefile.in + build-dir orchestration (out-of-tree) Make a plain `make` in a build directory build every module into the build tree. The top Makefile becomes a configure-generated Makefile.in, and each recursion drives a build subdirectory (created on demand) using the module Makefile from the source tree. Makefile -> Makefile.in (config.status generates Makefile in the build top via AC_CONFIG_FILES([Makefile:Makefile.in])): * Add MAGICSRC = @abs_top_srcdir@; read VERSION and re-run configure from ${MAGICSRC}. * Every descent `(cd $$dir && ${MAKE} <goal>)` and `${MAKE} -C $(dir $@) <goal>` becomes: mkdir -p <builddir> && ${MAKE} -C <builddir> \ -f ${MAGICSRC}/<dir>/Makefile <goal> so the build subdir need not pre-exist and the source Makefile is used. Applied to modules/libs/depend pattern rules and the tcllibrary/mains/techs/install/clean loops. * database/database.h: generate from ${MAGICSRC}/.../database.h.in into the build tree (mkdir -p database), via the generated build-tree ${MAGICDIR}/scripts/makedbh. * install-dirs/install-tcl-dirs use ${SCRIPTS}/mkdirs (now source-tree); clean skips absent build subdirs; distclean/dist/tags updated for the split source/build layout. scripts/defs.mak.in: * SCRIPTS now points at the source tree (${MAGICSRC}/scripts) for the static helpers (mkdirs, printmans, ...); the one generated helper, makedbh, is referenced directly at ${MAGICDIR}/scripts (build tree). * Guard VPATH so it is set only inside module subdirectories, never at the build top -- a top-level VPATH into the source tree could let a stale source database/database.h shadow the build-tree copy. scripts/configure.in: AC_CONFIG_FILES([Makefile:Makefile.in]); regenerated scripts/configure. Verified out-of-tree: `../configure && make modules && make libs` builds all 33 module libraries (lib*.o and lib*.a) plus the generated database/database.h into the build tree, with no errors and the source tree left clean. A full `make` (link the magic program, build techs) still needs the later outlier fixes (magic/, scmos/, ...). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:42:35 +02:00
# Only set VPATH inside a module (sub)directory, never at the build top: a
# top-level VPATH into the source tree could let a stale source-tree
# database/database.h shadow the copy we must (re)generate in the build tree.
ifneq ($(MODULE_SUBPATH),)
build: VPATH-enable shared make machinery (out-of-tree) With the autoconf layer relocatable, teach the shared make files to read sources from the source tree and write objects into the build tree. The ~26 "standard" and "near-standard" module Makefiles now build out-of-tree with no per-module edits. scripts/defs.mak.in: * Add MAGICSRC = @abs_top_srcdir@ (absolute source top) and derive each module's srcdir/VPATH from CURDIR relative to the build top: BUILD_TOP := $(abspath $(MAGICDIR)) MODULE_SUBPATH := $(subst $(BUILD_TOP),,$(CURDIR)) srcdir := $(MAGICSRC)$(MODULE_SUBPATH) VPATH := $(srcdir) (MAGICDIR keeps meaning the *build* top; in-tree the trees coincide.) * CPPFLAGS: add -I${MAGICSRC} (source top, for "<module>/<hdr>.h") and -I${srcdir} (same-dir headers), keeping -I${MAGICDIR} for the generated database/database.h in the build top. * MAGIC_VERSION/REVISION read ${MAGICSRC}/VERSION; MAGIC_COMMIT uses `git -C ${MAGICSRC}` so it works from a build dir outside the work-tree. rules.mak: * Compile rule: `-c $*.c` -> `-c $< -o $@` so the source is found via VPATH in srcdir and the object is written to the build cwd. * Depend and tags rules: prefix sources with $(srcdir)/ (they are passed to the compiler/ctags directly, which do not honor VPATH). scripts/configure.in: AC_CONFIG_FILES([rules.mak:rules.mak]) copies the VPATH-aware rules.mak into the build top, so a single ${MAGICDIR} resolves both `include`s in every subdir Makefile. Regenerated configure. Known limitation (v1): the Depend post-processing sed strips absolute-path headers, so with an absolute srcdir most header deps are dropped; out-of-tree incremental header-change rebuilds are weaker. Depend is already "optimistic/optional"; relativizing is a follow-up. Verified out-of-tree: `tiles` and `drc` (the latter #includes the generated database/database.h) build to completion; all objects land in the build tree; the source tree stays clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:33:37 +02:00
VPATH := $(srcdir)
build: top Makefile.in + build-dir orchestration (out-of-tree) Make a plain `make` in a build directory build every module into the build tree. The top Makefile becomes a configure-generated Makefile.in, and each recursion drives a build subdirectory (created on demand) using the module Makefile from the source tree. Makefile -> Makefile.in (config.status generates Makefile in the build top via AC_CONFIG_FILES([Makefile:Makefile.in])): * Add MAGICSRC = @abs_top_srcdir@; read VERSION and re-run configure from ${MAGICSRC}. * Every descent `(cd $$dir && ${MAKE} <goal>)` and `${MAKE} -C $(dir $@) <goal>` becomes: mkdir -p <builddir> && ${MAKE} -C <builddir> \ -f ${MAGICSRC}/<dir>/Makefile <goal> so the build subdir need not pre-exist and the source Makefile is used. Applied to modules/libs/depend pattern rules and the tcllibrary/mains/techs/install/clean loops. * database/database.h: generate from ${MAGICSRC}/.../database.h.in into the build tree (mkdir -p database), via the generated build-tree ${MAGICDIR}/scripts/makedbh. * install-dirs/install-tcl-dirs use ${SCRIPTS}/mkdirs (now source-tree); clean skips absent build subdirs; distclean/dist/tags updated for the split source/build layout. scripts/defs.mak.in: * SCRIPTS now points at the source tree (${MAGICSRC}/scripts) for the static helpers (mkdirs, printmans, ...); the one generated helper, makedbh, is referenced directly at ${MAGICDIR}/scripts (build tree). * Guard VPATH so it is set only inside module subdirectories, never at the build top -- a top-level VPATH into the source tree could let a stale source database/database.h shadow the build-tree copy. scripts/configure.in: AC_CONFIG_FILES([Makefile:Makefile.in]); regenerated scripts/configure. Verified out-of-tree: `../configure && make modules && make libs` builds all 33 module libraries (lib*.o and lib*.a) plus the generated database/database.h into the build tree, with no errors and the source tree left clean. A full `make` (link the magic program, build techs) still needs the later outlier fixes (magic/, scmos/, ...). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:42:35 +02:00
endif
build: VPATH-enable shared make machinery (out-of-tree) With the autoconf layer relocatable, teach the shared make files to read sources from the source tree and write objects into the build tree. The ~26 "standard" and "near-standard" module Makefiles now build out-of-tree with no per-module edits. scripts/defs.mak.in: * Add MAGICSRC = @abs_top_srcdir@ (absolute source top) and derive each module's srcdir/VPATH from CURDIR relative to the build top: BUILD_TOP := $(abspath $(MAGICDIR)) MODULE_SUBPATH := $(subst $(BUILD_TOP),,$(CURDIR)) srcdir := $(MAGICSRC)$(MODULE_SUBPATH) VPATH := $(srcdir) (MAGICDIR keeps meaning the *build* top; in-tree the trees coincide.) * CPPFLAGS: add -I${MAGICSRC} (source top, for "<module>/<hdr>.h") and -I${srcdir} (same-dir headers), keeping -I${MAGICDIR} for the generated database/database.h in the build top. * MAGIC_VERSION/REVISION read ${MAGICSRC}/VERSION; MAGIC_COMMIT uses `git -C ${MAGICSRC}` so it works from a build dir outside the work-tree. rules.mak: * Compile rule: `-c $*.c` -> `-c $< -o $@` so the source is found via VPATH in srcdir and the object is written to the build cwd. * Depend and tags rules: prefix sources with $(srcdir)/ (they are passed to the compiler/ctags directly, which do not honor VPATH). scripts/configure.in: AC_CONFIG_FILES([rules.mak:rules.mak]) copies the VPATH-aware rules.mak into the build top, so a single ${MAGICDIR} resolves both `include`s in every subdir Makefile. Regenerated configure. Known limitation (v1): the Depend post-processing sed strips absolute-path headers, so with an absolute srcdir most header deps are dropped; out-of-tree incremental header-change rebuilds are weaker. Depend is already "optimistic/optional"; relativizing is a follow-up. Verified out-of-tree: `tiles` and `drc` (the latter #includes the generated database/database.h) build to completion; all objects land in the build tree; the source tree stays clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:33:37 +02:00
# --------------------------------------------------------------------------
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
mandir = @mandir@
build: top Makefile.in + build-dir orchestration (out-of-tree) Make a plain `make` in a build directory build every module into the build tree. The top Makefile becomes a configure-generated Makefile.in, and each recursion drives a build subdirectory (created on demand) using the module Makefile from the source tree. Makefile -> Makefile.in (config.status generates Makefile in the build top via AC_CONFIG_FILES([Makefile:Makefile.in])): * Add MAGICSRC = @abs_top_srcdir@; read VERSION and re-run configure from ${MAGICSRC}. * Every descent `(cd $$dir && ${MAKE} <goal>)` and `${MAKE} -C $(dir $@) <goal>` becomes: mkdir -p <builddir> && ${MAKE} -C <builddir> \ -f ${MAGICSRC}/<dir>/Makefile <goal> so the build subdir need not pre-exist and the source Makefile is used. Applied to modules/libs/depend pattern rules and the tcllibrary/mains/techs/install/clean loops. * database/database.h: generate from ${MAGICSRC}/.../database.h.in into the build tree (mkdir -p database), via the generated build-tree ${MAGICDIR}/scripts/makedbh. * install-dirs/install-tcl-dirs use ${SCRIPTS}/mkdirs (now source-tree); clean skips absent build subdirs; distclean/dist/tags updated for the split source/build layout. scripts/defs.mak.in: * SCRIPTS now points at the source tree (${MAGICSRC}/scripts) for the static helpers (mkdirs, printmans, ...); the one generated helper, makedbh, is referenced directly at ${MAGICDIR}/scripts (build tree). * Guard VPATH so it is set only inside module subdirectories, never at the build top -- a top-level VPATH into the source tree could let a stale source database/database.h shadow the build-tree copy. scripts/configure.in: AC_CONFIG_FILES([Makefile:Makefile.in]); regenerated scripts/configure. Verified out-of-tree: `../configure && make modules && make libs` builds all 33 module libraries (lib*.o and lib*.a) plus the generated database/database.h into the build tree, with no errors and the source tree left clean. A full `make` (link the magic program, build techs) still needs the later outlier fixes (magic/, scmos/, ...). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:42:35 +02:00
# Source-tree helper scripts (mkdirs, printmans, preproc.py, ...). The one
# generated script, makedbh, lives in the *build* tree at ${MAGICDIR}/scripts.
SCRIPTS = ${MAGICSRC}/scripts
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
# Override standard "make" target when compiling under TCL
ALL_TARGET = @ALL_TARGET@
INSTALL_TARGET = @INSTALL_TARGET@
# Change libdir to install in a different place
BINDIR = ${bindir}
MANDIR = ${mandir}
LIBDIR = ${libdir}
SYSDIR = ${libdir}/magic/sys
SCMDIR = ${libdir}/magic/scm
TCLDIR = ${libdir}/magic/tcl
# Install targets may be different if dist_prefix is set by configure
INSTALL_BINDIR = @DIST_DIR@/bin
INSTALL_MANDIR = @DIST_DIR@/share/man
INSTALL_LIBDIR = @DIST_DIR@/lib
INSTALL_SYSDIR = ${INSTALL_LIBDIR}/magic/sys
INSTALL_SCMDIR = ${INSTALL_LIBDIR}/magic/scm
INSTALL_TCLDIR = ${INSTALL_LIBDIR}/magic/tcl
MAIN_EXTRA_LIBS = @extra_libs@
LD_FIRST_LIBS = @ld_first_libs@
LD_EXTRA_LIBS = @ld_extra_libs@
LD_SHARED = @ld_extra_objs@
TOP_EXTRA_LIBS = @top_extra_libs@
SUB_EXTRA_LIBS = @sub_extra_libs@
LIBS = @LIBS@
MODULES += @modules@
UNUSED_MODULES += @unused@
PROGRAMS += @programs@
INSTALL_CAD_DIRS += @cadinstall@
RM = rm -f
RMDIR = rmdir
CP = cp
MV = mv
LN = ln
AR = ar
ARFLAGS = cr
LINK = @LD@ -r
LD = @LD@
MKDIR = mkdir
2025-03-21 12:39:21 +01:00
PERL = @PERL@
SED = @SED@
MCPP = @MCPP@
MSED = @MSED@
RANLIB = @RANLIB@
SHDLIB_EXT = @SHDLIB_EXT@
ZLIB_FLAG = @ZLIB_FLAG@
LDDL_FLAGS = @LDDL_FLAGS@
LD_RUN_PATH = @LD_RUN_PATH@
LIB_SPECS = @LIB_SPECS@
LIB_SPECS_NOSTUB = @LIB_SPECS_NOSTUB@
LIB_SPECS_GRNULL = @LIB_SPECS_GRNULL@
WISH_EXE = @WISH_EXE@
TCL_LIB_DIR = @TCL_LIB_DIR@
build: VPATH-enable shared make machinery (out-of-tree) With the autoconf layer relocatable, teach the shared make files to read sources from the source tree and write objects into the build tree. The ~26 "standard" and "near-standard" module Makefiles now build out-of-tree with no per-module edits. scripts/defs.mak.in: * Add MAGICSRC = @abs_top_srcdir@ (absolute source top) and derive each module's srcdir/VPATH from CURDIR relative to the build top: BUILD_TOP := $(abspath $(MAGICDIR)) MODULE_SUBPATH := $(subst $(BUILD_TOP),,$(CURDIR)) srcdir := $(MAGICSRC)$(MODULE_SUBPATH) VPATH := $(srcdir) (MAGICDIR keeps meaning the *build* top; in-tree the trees coincide.) * CPPFLAGS: add -I${MAGICSRC} (source top, for "<module>/<hdr>.h") and -I${srcdir} (same-dir headers), keeping -I${MAGICDIR} for the generated database/database.h in the build top. * MAGIC_VERSION/REVISION read ${MAGICSRC}/VERSION; MAGIC_COMMIT uses `git -C ${MAGICSRC}` so it works from a build dir outside the work-tree. rules.mak: * Compile rule: `-c $*.c` -> `-c $< -o $@` so the source is found via VPATH in srcdir and the object is written to the build cwd. * Depend and tags rules: prefix sources with $(srcdir)/ (they are passed to the compiler/ctags directly, which do not honor VPATH). scripts/configure.in: AC_CONFIG_FILES([rules.mak:rules.mak]) copies the VPATH-aware rules.mak into the build top, so a single ${MAGICDIR} resolves both `include`s in every subdir Makefile. Regenerated configure. Known limitation (v1): the Depend post-processing sed strips absolute-path headers, so with an absolute srcdir most header deps are dropped; out-of-tree incremental header-change rebuilds are weaker. Depend is already "optimistic/optional"; relativizing is a follow-up. Verified out-of-tree: `tiles` and `drc` (the latter #includes the generated database/database.h) build to completion; all objects land in the build tree; the source tree stays clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:33:37 +02:00
MAGIC_VERSION ?= $(shell cat ${MAGICSRC}/VERSION | cut -d. -f1-2)
MAGIC_REVISION ?= $(shell cat ${MAGICSRC}/VERSION | cut -d. -f3)
MAGIC_COMMIT ?= $(shell git -C ${MAGICSRC} rev-parse HEAD)
MAGIC_BUILDDATE ?= $(shell date | tr -d '\r\n')
# This allow inheritence of the values from toplevel Makefile
export MAGIC_VERSION
export MAGIC_REVISION
export MAGIC_COMMIT
export MAGIC_BUILDDATE
CC = @CC@
CPP = @CPP@
CXX = @CXX@
###
### Feature flags (to enable uncomment these from ./defs.mak after your ./configure)
###
### SUPPORT_DIRECT_MALLOC: this removes the legacy malloc/free APIs that are
### not thread-safe and have a defer-free-by-1 quirk that maybe covering
### up unknown problems. See utils/malloc.[ch] for more info.
###
### Status: EXPERIMENTAL (this is expected to uncover issues we don't know about yet)
#FEATURE_FLAGS += -DSUPPORT_DIRECT_MALLOC
###
### SUPPORT_REMOVE_MALLOC_LEGACY this completely removes the older non-threadsafe API
### from the output binaries.
### This option is dependent on SUPPORT_DIRECT_MALLOC
###
### Status: NOT-STABILITY-AFFECTING (if your binary links you are good to continue)
#FEATURE_FLAGS += -DSUPPORT_REMOVE_MALLOC_LEGACY
build: VPATH-enable shared make machinery (out-of-tree) With the autoconf layer relocatable, teach the shared make files to read sources from the source tree and write objects into the build tree. The ~26 "standard" and "near-standard" module Makefiles now build out-of-tree with no per-module edits. scripts/defs.mak.in: * Add MAGICSRC = @abs_top_srcdir@ (absolute source top) and derive each module's srcdir/VPATH from CURDIR relative to the build top: BUILD_TOP := $(abspath $(MAGICDIR)) MODULE_SUBPATH := $(subst $(BUILD_TOP),,$(CURDIR)) srcdir := $(MAGICSRC)$(MODULE_SUBPATH) VPATH := $(srcdir) (MAGICDIR keeps meaning the *build* top; in-tree the trees coincide.) * CPPFLAGS: add -I${MAGICSRC} (source top, for "<module>/<hdr>.h") and -I${srcdir} (same-dir headers), keeping -I${MAGICDIR} for the generated database/database.h in the build top. * MAGIC_VERSION/REVISION read ${MAGICSRC}/VERSION; MAGIC_COMMIT uses `git -C ${MAGICSRC}` so it works from a build dir outside the work-tree. rules.mak: * Compile rule: `-c $*.c` -> `-c $< -o $@` so the source is found via VPATH in srcdir and the object is written to the build cwd. * Depend and tags rules: prefix sources with $(srcdir)/ (they are passed to the compiler/ctags directly, which do not honor VPATH). scripts/configure.in: AC_CONFIG_FILES([rules.mak:rules.mak]) copies the VPATH-aware rules.mak into the build top, so a single ${MAGICDIR} resolves both `include`s in every subdir Makefile. Regenerated configure. Known limitation (v1): the Depend post-processing sed strips absolute-path headers, so with an absolute srcdir most header deps are dropped; out-of-tree incremental header-change rebuilds are weaker. Depend is already "optimistic/optional"; relativizing is a follow-up. Verified out-of-tree: `tiles` and `drc` (the latter #includes the generated database/database.h) build to completion; all objects land in the build tree; the source tree stays clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:33:37 +02:00
# -I${MAGICDIR}: build top, for the generated database/database.h
# -I${MAGICSRC}: source top, for "<module>/<header>.h" includes
# -I${srcdir}: this module's source dir, for same-directory headers
CPPFLAGS = -I${MAGICDIR} -I${MAGICSRC} -I${srcdir} @CPPFLAGS@
CXXFLAGS = @CXXFLAGS@
DFLAGS_MAGICVERSION = -DMAGIC_VERSION=\"${MAGIC_VERSION}\" -DMAGIC_REVISION=\"${MAGIC_REVISION}\" -DMAGIC_COMMIT=\"${MAGIC_COMMIT}\" "-DMAGIC_BUILDDATE=\"${MAGIC_BUILDDATE}\""
DFLAGS = @extra_defs@ @stub_defs@ @DEFS@ ${DFLAGS_MAGICVERSION} -DGCORE=\"@GCORE@\"
DFLAGS += -DSHDLIB_EXT=\"@SHDLIB_EXT@\" @NDEBUG_defs@ @DEBUG_defs@ ${FEATURE_FLAGS}
DFLAGS_NOSTUB = @extra_defs@ @DEFS@ ${DFLAGS_MAGICVERSION} -DGCORE=\"@GCORE@\"
DFLAGS_NOSTUB += -DSHDLIB_EXT=\"@SHDLIB_EXT@\" @NDEBUG_defs@ @DEBUG_defs@ ${FEATURE_FLAGS}
CFLAGS = @CFLAGS@ @SHLIB_CFLAGS@ @INC_SPECS@
LDFLAGS = @LDFLAGS@
READLINE_DEFS = @rl_defs@
READLINE_LIBS = @rl_libs@
DEPEND_FILE = Depend
DEPEND_FLAG = @DEPEND_FLAG@
EXEEXT = @EXEEXT@
GR_CFLAGS = @X_CFLAGS@ @gr_cflags@
GR_DFLAGS = @gr_dflags@
GR_LIBS = @X_LIBS@ @X_PRE_LIBS@ @gr_libs@ @X_EXTRA_LIBS@
GR_SRCS = @gr_srcs@
GR_HELPER_SRCS = @gr_hsrcs@
GR_HELPER_PROG = @gr_hprog@
OA = @OA@
OA_LIBS = @OA_LIBS@
DEPSRCS = ${SRCS}
C_OBJS = ${SRCS:.c=.o}
CXX_OBJS = ${CXXSRCS:.cpp=.o}
OBJS = ${CXX_OBJS} ${C_OBJS}
LIB_OBJS = ${LIB_SRCS:.c=.o}
CLEANS = Depend ${OBJS} ${LIB_OBJS} lib${MODULE}.a lib${MODULE}.o ${MODULE}
# allows Makefile to be selective
MAKE_TCL = @MAKE_TCL@
MAKE_X11 = @MAKE_X11@
MAKE_GL = @MAKE_GL@
MAKE_GLU = @MAKE_GLU@
MAKE_CAIRO = @MAKE_CAIRO@
MAKE_READLINE = @MAKE_READLINE@