1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
# -----------------------------------------------------------------------------
# (C) Altran Praxis Limited
# -----------------------------------------------------------------------------
#
# The SPARK toolset is free software; you can redistribute it and/or modify it
# under terms of the GNU General Public License as published by the Free
# Software Foundation; either version 3, or (at your option) any later
# version. The SPARK toolset is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the GNU
# General Public License distributed with the SPARK toolset; see file
# COPYING3. If not, go to http://www.gnu.org/licenses for a complete copy of
# the license.
#
# =============================================================================
################################################################################
# PURPOSE
#-------------------------------------------------------------------------------
# Makefile for POGS
# For Linux, Windows, Solaris or Mac OS X (aka Darwin).
################################################################################
################################################################################
# BUILD CONFIGURATION
################################################################################
# Name of the output program.
OUTPUT_NAME:=pogs
# Location of root.
ROOT:=..
SPARK_PREPED:=oscommandline.adb
# Location of common.
COMMON:=${ROOT}/common
include ${COMMON}/Makefile.inc
################################################################################
# PLATFORM INDEPENDENT CONFIGURATION
################################################################################
# Files containing platform specific code that is handled by gnatprep
PREP_TARGETS:=${SPARK_PREPED}
LINK_ARGS:=${ADA_LINK}
################################################################################
# TARGETS
################################################################################
all: ${OUTPUT_NAME}${EXE_EXTN}
${OUTPUT_NAME}${EXE_EXTN}: preamble prep
gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} -largs ${LINK_ARGS}
self-analysis: preamble prep
-spark -plain @${OUTPUT_NAME}.smf
# Initialisations
# ===============
preamble:
$(MAKE) -C ${ROOT}/examiner clean
# Platform specific prepping
# ==========================
prep: ${PREP_TARGETS}
$(MAKE) -C ${ROOT}/examiner prep
%.ads: %.aps
gnatprep ${PREP_OPTS} -DTarget=${PREP_TARGET} $< $@
%.adb: %.apb
gnatprep ${PREP_OPTS} -DTarget=${PREP_TARGET} $< $@
# Cleaning code base
# ==================
clean: residueclean standardclean
reallyclean: clean targetclean vcclean preamble
$(MAKE) -C ${ROOT}/examiner reallyclean
residueclean:
rm -f ${PREP_TARGETS}
################################################################################
# END-OF-FILE
|