File: Makefile

package info (click to toggle)
spark 2012.0.deb-9
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 29,260 kB
  • ctags: 3,098
  • sloc: ada: 186,243; cpp: 13,497; makefile: 685; yacc: 440; lex: 176; ansic: 119; sh: 16
file content (107 lines) | stat: -rw-r--r-- 4,270 bytes parent folder | download | duplicates (2)
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