summaryrefslogtreecommitdiff
path: root/Makefile.classic
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-09-04 09:05:24 +0200
committercashmere <cashmere@autistici.org>2026-09-04 09:05:24 +0200
commit4f49b16079b27d7ce633619e4cddfdf2bffbc952 (patch)
treec296c1e7f3c3e2f6859c6d3a1b1b208779b89679 /Makefile.classic
downloadrelic-master.tar.gz
initial commitHEADmaster
Diffstat (limited to 'Makefile.classic')
-rw-r--r--Makefile.classic111
1 files changed, 111 insertions, 0 deletions
diff --git a/Makefile.classic b/Makefile.classic
new file mode 100644
index 0000000..8a1cbf6
--- /dev/null
+++ b/Makefile.classic
@@ -0,0 +1,111 @@
+#!/usr/bin/make
+#
+# This is the top-level makefile for Fossil when the build is occurring
+# on a unix platform. This works out-of-the-box on most unix platforms.
+# But you are free to vary some of the definitions if desired.
+#
+#### The toplevel directory of the source tree. Fossil can be built
+# in a directory that is separate from the source tree. Just change
+# the following to point from the build directory to the src/ folder.
+#
+SRCDIR = ./src
+#### Upstream source files included directly in this repository.
+#
+SRCDIR_extsrc = ./extsrc
+#### In-tree tools such as code generators and translators:
+#
+SRCDIR_tools = ./tools
+
+#### The directory into which object code files should be written.
+#
+#
+OBJDIR = ./bld
+
+#### C Compiler and options for use in building executables that
+# will run on the platform that is doing the build. This is used
+# to compile code-generator programs as part of the build process.
+# See TCC below for the C compiler for building the finished binary.
+#
+BCC = gcc
+BCCFLAGS = $(CFLAGS)
+
+#### The suffix to add to final executable file. When cross-compiling
+# to windows, make this ".exe". Otherwise leave it blank.
+#
+E =
+
+#### C Compile and options for use in building executables that
+# will run on the target platform. This is usually the same
+# as BCC, unless you are cross-compiling. This C compiler builds
+# the finished binary for fossil. The BCC compiler above is used
+# for building intermediate code-generator tools.
+#
+#TCC = gcc -O6
+#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
+TCC = gcc -g -Os -Wall
+
+# To add support for HTTPS
+TCC += -DFOSSIL_ENABLE_SSL
+
+#### We sometimes add the -static option here so that we can build a
+# static executable that will run in a chroot jail.
+#LIB = -static
+TCC += -DFOSSIL_DYNAMIC_BUILD=1
+
+TCCFLAGS = $(CFLAGS)
+
+# We don't attempt to use libedit or libreadline in this simplified
+# build system (contrast auto.def and Makefile.in) so use the included
+# copy of linenoise. MinGW can't make use of this, but linenoise is
+# ifdef'd out elsewhere for that platform. Note that this is a make
+# flag handled in src/main.mk, not a C preprocessor flag.
+USE_LINENOISE := 1
+
+#### Extra arguments for linking the finished binary. Fossil needs
+# to link against the Z-Lib compression library. There are no
+# other required dependencies.
+ZLIB_LIB = -lz
+
+# If using zlib:
+LIB += $(ZLIB_LIB) $(LDFLAGS)
+
+# If using HTTPS:
+LIB += -lcrypto -lssl
+
+# Many platforms put cos() needed by src/piechart.c in libm, rather than
+# in libc. We cannot enable this by default because libm doesn't exist
+# everywhere.
+#LIB += -lm
+
+#### Tcl shell for use in running the fossil testsuite. If you do not
+# care about testing the end result, this can be blank.
+#
+TCLSH = tclsh
+
+CFLAGS += -fPIE
+CPPFLAGS += -I. -I$(SRCDIR_extsrc) -I$(SRCDIR)
+LIB = -lm -lz -lssl
+INSTALLDIR = $(DESTDIR)$(prefix)/bin
+SQLITE3_ORIGINAL = 0
+USE_LINENOISE = 1
+
+
+# You should not need to change anything below this line
+###############################################################################
+#
+# Automatic platform-specific options.
+HOST_OS_CMD = uname -s
+HOST_OS = $(HOST_OS_CMD:sh)
+
+LIB.SunOS= -lsocket -lnsl -lrt
+LIB += $(LIB.$(HOST_OS))
+
+TCC.DragonFly += -DUSE_PREAD
+TCC.FreeBSD += -DUSE_PREAD
+TCC.NetBSD += -DUSE_PREAD
+TCC.OpenBSD += -DUSE_PREAD
+TCC += $(TCC.$(HOST_OS))
+
+APPNAME = fossil$(E)
+.PHONY: all tags
+include $(SRCDIR)/main.mk