forked from KallistiOS/KallistiOS
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
80 lines (57 loc) · 1.63 KB
/
Makefile
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
# KallistiOS ##version##
#
# Root Makefile
# Copyright (C) 2003 Megan Potter
# Copyright (C) 2024 Falco Girgis
#
# Make sure things compile nice and cleanly. We don't necessarily want to push
# these flags out on to user code, but it's a good idea to keep them around for
# compiling all of KOS proper.
# I expect everyone to keep their code warning free. Don't make me add -Werror
# here too. ;-)
KOS_CFLAGS += -Wextra -Wno-deprecated
# Add stuff to SUBDIRS to auto-compile it with the big tree.
SUBDIRS = utils kernel addons # examples
# Detect a non-working or missing environ.sh file.
ifndef KOS_BASE
error:
@echo You don\'t seem to have a working environ.sh.master file. Please take a look at
@echo doc/README for more info.
@exit 0
endif
all: subdirs
kernel: kernel_subdirs
addons: addons_subdirs
utils: utils_subdirs
examples: examples_subdirs
clean: clean_subdirs
distclean: clean
-rm -f lib/$(KOS_ARCH)/*
-rm -f addons/lib/$(KOS_ARCH)/*
$(MAKE) -C utils distclean
docs:
doxygen $(KOS_BASE)/doc/Doxyfile
docs_clean:
-rm -rf $(KOS_BASE)/doc/reference
docs_open: docs
open $(KOS_BASE)/doc/reference/html/index.html
kos-ports_all:
$(KOS_PORTS)/utils/build-all.sh
kos-ports_clean:
$(KOS_PORTS)/utils/clean-all.sh
kos-ports_distclean: kos-ports_clean
$(KOS_PORTS)/utils/uninstall-all.sh
all_auto_kos_base:
$(MAKE) all KOS_BASE=$(CURDIR)
clean_auto_kos_base:
$(MAKE) clean KOS_BASE=$(CURDIR)
# Specific rules for kernel, utils, addons, and examples
kernel_subdirs:
$(MAKE) -C kernel
addons_subdirs:
$(MAKE) -C addons
utils_subdirs:
$(MAKE) -C utils
examples_subdirs:
$(MAKE) -C examples
include $(KOS_BASE)/Makefile.rules