-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
56 lines (43 loc) · 1.36 KB
/
Copy pathMakefile
File metadata and controls
56 lines (43 loc) · 1.36 KB
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
# Copyright (c) 2022-2026 Logic Magicians Software
$(if $(SKL_DIR),,$(error 'SKL_DIR' is not defined.))
$(if $(filter $(SKL_ARCHITECTURE),Intel-x86-64 Arm64),, \
$(error 'SKL_ARCHITECTURE' is not Intel-x86-64 or Arm64.))
include $(SKL_DIR)/make/map.mk
include $(SKL_DIR)/make/config.mk
.DEFAULT_GOAL := all
.PHONY: all disasm loader clean doc show-preprocessor-symbols
all: loader disasm doc_$(SKL_HOST_OS)
$(PROLOG); \
echo "Master: All targets built.";
disasm loader doc: build-directories
$(PROLOG); \
$(MAKE) \
-C $(_BUILD_DIR)/$@ \
-f $(SKL_DIR)/$@/Makefile \
--no-print-directory \
VPATH=$(SKL_DIR)/$@ \
_BUILD_DIR=$(_BUILD_DIR)/$@ \
$@__;
doc_linux: doc
$(PROLOG); \
echo "Linux documentation built.";
doc_macos:
$(PROLOG); \
echo "Documentation cannot build on Mac, because there is no LaTeX.";
clean:
$(PROLOG); \
rm -rf $(_BUILD_DIR);
$(addprefix $(_BUILD_DIR)/,disasm loader doc):
$(PROLOG); \
mkdir -p $@;
build-directories: \
| $(_BUILD_DIR)/disasm \
$(_BUILD_DIR)/loader \
$(_BUILD_DIR)/doc
# Show predefined preprocessor symbols for this compiler. This is
# useful when looking for symbols that are defined by a particular
# compiler. For example: determining if the compiler is big- or
# little-endian.
#
show-preprocessor-symbols:
$(CC) -dM -E - </dev/null