2014-07-14 19:32:44 +00:00
|
|
|
#
|
|
|
|
# Copyright 2014, General Dynamics C4 Systems
|
|
|
|
#
|
2020-03-09 06:18:30 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2014-07-14 19:32:44 +00:00
|
|
|
#
|
|
|
|
|
|
|
|
## Targets
|
|
|
|
images: BaseRefine CBaseRefine Refine CRefine
|
|
|
|
default: images test
|
|
|
|
test:
|
|
|
|
all: images test
|
|
|
|
|
2022-12-19 22:03:06 +00:00
|
|
|
# Allow sorry command in AARCH64 Refine during development:
|
2022-05-11 22:46:02 +00:00
|
|
|
ifeq "$(L4V_ARCH)" "AARCH64"
|
2022-12-19 22:03:06 +00:00
|
|
|
export REFINE_QUICK_AND_DIRTY=1
|
2022-05-11 22:46:02 +00:00
|
|
|
endif
|
|
|
|
|
2014-07-14 19:32:44 +00:00
|
|
|
#
|
|
|
|
# Setup heaps.
|
|
|
|
#
|
|
|
|
|
|
|
|
# Refine heaps.
|
2020-10-28 03:34:32 +00:00
|
|
|
HEAPS += AInvs BaseRefine Refine RefineOrphanage
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
# CRefine heaps.
|
2014-09-08 06:23:10 +00:00
|
|
|
HEAPS += CKernel CSpec CBaseRefine CRefine
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
# capDL heaps.
|
2014-11-23 08:54:59 +00:00
|
|
|
HEAPS += DBaseRefine DRefine DPolicy SepDSpec DSpecProofs
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
# Security Proofs
|
2016-11-15 06:14:36 +00:00
|
|
|
HEAPS += Access InfoFlow InfoFlowCBase InfoFlowC
|
2014-07-14 19:32:44 +00:00
|
|
|
|
2014-09-08 06:23:10 +00:00
|
|
|
# Binary Verification
|
2015-11-10 16:19:17 +00:00
|
|
|
HEAPS += SimplExportAndRefine
|
2014-09-08 06:23:10 +00:00
|
|
|
|
2014-08-13 12:08:46 +00:00
|
|
|
# Separation Kernel Bisimilarity
|
|
|
|
HEAPS += Bisim
|
|
|
|
|
2014-07-14 19:32:44 +00:00
|
|
|
# Separation Logic Tactics
|
2020-03-27 10:15:06 +00:00
|
|
|
HEAPS += SepTactics
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
# Additional dependencies
|
|
|
|
|
2022-04-04 01:40:44 +00:00
|
|
|
AInvs: design-spec ASpec-files
|
|
|
|
|
|
|
|
BaseRefine Refine DBaseRefine DRefine: design-spec ASpec-files
|
2020-08-07 05:03:37 +00:00
|
|
|
|
|
|
|
# CKernel uses the `machinety=machine_state` option for `install_C_file`,
|
|
|
|
# and therefore depends on `design-spec`.
|
2020-10-28 03:34:32 +00:00
|
|
|
CKernel CSpec : c-kernel design-spec
|
|
|
|
|
|
|
|
CBaseRefine CRefine SimplExportAndRefine : c-kernel design-spec ASpec-files
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
# Preprocess the kernel's source code and bitfield theory files.
|
|
|
|
c-kernel: .FORCE
|
|
|
|
cd ../spec && $(ISABELLE_TOOL) env make c-kernel
|
|
|
|
.PHONY: c-kernel
|
|
|
|
|
2017-05-09 07:32:50 +00:00
|
|
|
# Run the haskell translator
|
|
|
|
design-spec: .FORCE
|
|
|
|
cd ../spec && $(ISABELLE_TOOL) env make design-spec
|
|
|
|
.PHONY: design-spec
|
|
|
|
|
2020-10-28 03:34:32 +00:00
|
|
|
ASpec-files: .FORCE
|
|
|
|
cd ../spec && make ASpec-files
|
|
|
|
.PHONY: ASpec-files
|
|
|
|
|
2014-07-14 19:32:44 +00:00
|
|
|
include ../misc/isa-common.mk
|
2015-09-01 08:25:32 +00:00
|
|
|
|
2020-11-09 10:04:24 +00:00
|
|
|
# SimplExport is treated specially, to not save an image.
|
|
|
|
SimplExport: c-kernel design-spec
|
2015-09-01 08:25:32 +00:00
|
|
|
$(ISABELLE_TOOL) build -v -c -d $(ROOT_PATH) $@
|
2020-11-09 10:04:24 +00:00
|
|
|
.PHONY: SimplExport
|