diff options
| author | cashmere <cashmere@autistici.org> | 2026-09-04 09:05:24 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-09-04 09:05:24 +0200 |
| commit | 4f49b16079b27d7ce633619e4cddfdf2bffbc952 (patch) | |
| tree | c296c1e7f3c3e2f6859c6d3a1b1b208779b89679 /Makefile.classic | |
| download | relic-4f49b16079b27d7ce633619e4cddfdf2bffbc952.tar.gz | |
Diffstat (limited to 'Makefile.classic')
| -rw-r--r-- | Makefile.classic | 111 |
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 |
