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 93 94 95 96 97 98 99
|
# -----------------------------------------------------------------------------
# (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.
#
# =============================================================================
.NOTPARALLEL:
SWI_GOAL = \
expects_dialect('sicstus'), \
redefine_system_predicate(apply(_,_)), \
style_check(-singleton), \
compile('checker.pro')
################################################################################
# PURPOSE
#-------------------------------------------------------------------------------
# Makefile for the Checker.
# For Linux, Windows, Solaris or Mac OS X (aka Darwin).
################################################################################
################################################################################
# BUILD CONFIGURATION
################################################################################
# Name of the output program.
OUTPUT_NAME:=checker
# Location of root.
ROOT:=..
# Location of common.
COMMON:=${ROOT}/common
include ${COMMON}/Makefile.inc
################################################################################
# PLATFORM SPECIFIC CONFIGURATION
################################################################################
# Darwin (Mac OS X).
ifeq (${TARGET},Darwin)
# Modify PATH to pick up Apple's gcc before GNAT Pro
PATH:=/usr/bin:${PATH}
endif
################################################################################
# TARGETS
################################################################################
all: ${OUTPUT_NAME}${EXE_EXTN} build_manifest
# Note that the build assumes PATH is set to include SICSTUS binaries and (on
# Windows) MS VC Tools and LIB and INCLUDE are set to point at MS VC libraries
# and includes respectively.
${OUTPUT_NAME}${EXE_EXTN}: *.pro
swipl -O -g "${SWI_GOAL}, swisav_checker."
# Manifest only required on Windows.
ifeq ($(findstring ${TARGET},Windows),${TARGET})
build_manifest:
# Copy over the correct manifest file for this windows build.
cp ${OUTPUT_NAME}.windows.manifest ${OUTPUT_NAME}${EXE_EXTN}.manifest
else
build_manifest:
endif
spxref:
spxref -R -i spxref.pro checker.pro -w spxref_warning.txt -x spxref_cross.txt -m spxref_ported.txt -u spxref_undefined.txt
spxrefplain: spxref
# Normalize anonymous prolog variables.
sed -e 's/_[0-9][0-9]*/_/g' spxref_undefined.txt > spxref_undefined.txt.tmp
mv spxref_undefined.txt.tmp spxref_undefined.txt
# Cleaning code base
#===================
clean:
rm -f checker.sav checker.exp checker.ilk checker.lib checker.pdb
reallyclean: clean
rm -f ${OUTPUT_NAME}${EXE_EXTN} ${OUTPUT_NAME}${EXE_EXTN}.manifest
rm -f spxref_warning.txt spxref_cross.txt spxref_ported.txt spxref_undefined.txt
################################################################################
# END-OF-FILE
|