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 100 101 102 103 104 105 106 107
|
# -----------------------------------------------------------------------------
# (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 the Simplifier
# For Linux, Windows, Solaris or Mac OS X (aka Darwin).
################################################################################
.NOTPARALLEL:
################################################################################
# BUILD CONFIGURATION
################################################################################
# Name of the output program.
OUTPUTNAME_SIMPLIFIER:=spadesimp
OUTPUTNAME_ZOMBIESCOPE:=zombiescope
# 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
SWI_GOAL = \
expects_dialect('sicstus'), \
redefine_system_predicate(apply(_,_)), \
style_check(-singleton), \
compile('simplifier.pro'), \
################################################################################
# TARGETS
################################################################################
all: ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN} ${OUTPUTNAME_ZOMBIESCOPE}${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.
${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN}: *.pro
swipl -O -g "$(SWI_GOAL) add_system_toolname('Simplifier'), swisav_simplifier."
${OUTPUTNAME_ZOMBIESCOPE}${EXE_EXTN}: *.pro
swipl -O -g "$(SWI_GOAL) add_system_toolname('ZombieScope'), swisav_zombiescope."
# Manifest only required on Windows.
ifeq ($(findstring ${TARGET},Windows),${TARGET})
build_manifest:
# Copy over the correct manifest file for this windows build.
cp ${OUTPUTNAME_SIMPLIFIER}.windows.manifest ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN}.manifest
cp ${OUTPUTNAME_ZOMBIESCOPE}.windows.manifest ${OUTPUTNAME_ZOMBIESCOPE}${EXE_EXTN}.manifest
else
build_manifest:
endif
spxref:
spxref -R -i spxref.pro simplifier.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 spadesimp.sav spadesimp.exp spadesimp.ilk spadesimp.lib spadesimp.pdb
rm -f zombiescope.sav zombiescope.exp zombiescope.ilk zombiescope.lib zombiescope.pdb
rm -f spadesimp zombiescope
reallyclean: clean
rm -f ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN} ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN}.manifest
rm -f ${OUTPUTNAME_ZOMBIESCOPE}${EXE_EXTN} ${OUTPUTNAME_ZOMBIESCOPE}${EXE_EXTN}.manifest
rm -f spxref_warning.txt spxref_cross.txt spxref_ported.txt spxref_undefined.txt
################################################################################
# END-OF-FILE
|