summaryrefslogtreecommitdiffstats
path: root/sources/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sources/Makefile')
-rw-r--r--sources/Makefile144
1 files changed, 144 insertions, 0 deletions
diff --git a/sources/Makefile b/sources/Makefile
new file mode 100644
index 0000000..68ac40a
--- /dev/null
+++ b/sources/Makefile
@@ -0,0 +1,144 @@
+#-*- mode: makefile; indent-tabs-mode: t; coding: utf-8; show-trailing-whitespace: t -*-
+# Makefile
+# Copyright 2022 Angelo Rossi <angelo.rossi.homelab@gmail.com>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# Some utilities
+OS=${shell uname -s}
+
+# Debug enabled
+DEBUG=1
+
+# Defines verbose
+VERBOSE=
+
+# Defines the target name.
+TARGET=gemtp++
+
+# Linker script name.
+LINKER_SCRIPT=
+
+# Is a toolchain defined?
+ifndef TOOLCHAIN
+ TOOLCHAIN=gnu
+endif
+
+# The base directory for ST libraries.
+ROOT=..
+
+# Where to find source files that do not live in this directory.
+SOURCES_PATH=${ROOT}/sources
+
+# Where to find header files that do not live in the source directory.
+INCLUDES_PATH=${ROOT}/includes
+
+# Libraries path
+LIBRARIES_PATH=${ROOT}/libraries
+
+# Scripts path
+SCRIPTS_PATH=${ROOT}/scripts
+
+# Project definitions
+WITH_OVER1=1
+WITH_OVER20=1
+WITH_OVER51=1
+
+# Include common Makefile definitions.
+include ${ROOT}/Makefile.global
+
+# The default rule, which causes the Vibro Application to be built.
+all: ${TOOLCHAIN}
+all: ${TOOLCHAIN}/${TARGET}
+
+# List rule
+lst: all
+lst: ${TOOLCHAIN}/${TARGET}.lst
+
+# The rule to clean out all the build products.
+clean:
+ @if [ 'x${VERBOSE}' = x ]; \
+ then \
+ echo " [ CLEAN ] ${<}"; \
+ else \
+ echo "rm -rf ${TOOLCHAIN} ${wildcard *~} ${<}"; \
+ fi
+ @rm -rf ${TOOLCHAIN} ${wildcard *~} ${<}
+
+# The rule which creates the .o and executable directory.
+${TOOLCHAIN}:
+ @if [ 'x${VERBOSE}' = x ]; \
+ then \
+ echo " [ MKDIR ] ${TOOLCHAIN}"; \
+ else \
+ echo "mkdir -p ${TOOLCHAIN}"; \
+ fi
+ @mkdir -p ${TOOLCHAIN}
+
+# Rules for building the system code.
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/utilities.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/volt45.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/blkcom.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/dekspy.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/dekplt.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/tacsar.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/comlock.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/time.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/strcom.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/freedom.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/movecopy.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/location.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/algebra.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/random.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/labcom.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/newmods.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/umdeck.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/labl02.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/plot.o
+
+ifdef WITH_OVER1
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/over1.o
+endif
+
+ifdef WITH_OVER20
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/over20.o
+endif
+
+ifdef WITH_OVER51
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/over51.o
+endif
+
+
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/datain.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/emtp.o
+${TOOLCHAIN}/${TARGET}: ${TOOLCHAIN}/main.o
+
+# Include the automatically generated dependency files.
+ifneq (${MAKECMDGOALS},clean)
+-include ${wildcard ${TOOLCHAIN}/*.d} __dummy__
+endif
+# DO NOT DELETE