Repository navigation
Expand file tree
/
Copy pathMakefile.common
More file actions
137 lines (121 loc) · 2.29 KB
/
Copy pathMakefile.common
File metadata and controls
137 lines (121 loc) · 2.29 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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# -*- Mode: makefile; indent-tabs-mode: t -*-
#
# This file is part of 0bt. For more info see COPYING.
# root directory
TOPDIR=$(shell pwd)
#
# Common build options
#
ARCH=$(shell uname -m)
ifeq ($(ARCH), x86_64)
ARCH := x86
endif
# Flags that can be passed during build
DEBUG ?=
V ?=
DISK_IMAGE ?= disk.img
DISK_SIZE ?= 4G
#
# Build targets
#
DEFAULT = all
RUN = run
BUILD_INITRD = initrd
CLEAN = clean
CLEAN_DISK = clean_image
CLEAN_INITRD = clean_initrd
CLEAN_ALL = clean_all
HELP = help
TOOLS = tools
INSTALL = install
BUILD_IMAGE = image
FORMAT_FAT_IMAGE = format-fat-image
FORMAT_EXT2_IMAGE = format-ext2-image
BUILD_BOOTLOADER = build-boot
CREATE_DISK_PARTITIONS = create-disk-partitions
#
# filesystem related targets
#
USE_FAT32_FS = 1
#
# Standard tools
#
RM = rm -rf
AS = as
LD = ld
# file system and disk utils
DD = dd
MKFS_VFAT=mkfs.vfat
#
# Generated files (mostly used for cleanups)
#
ISO = *.iso
IMAGE = *.img
BIN_FILES = *.bin
OBJECT_FILES = *.o
INITRD_FILES = $(TOPDIR)/initrd/sbin \
$(TOPDIR)/initrd/bin/ \
$(TOPDIR)/initrd/dev/ \
$(TOPDIR)/initrd/etc/ \
$(TOPDIR)/initrd/lib/ \
$(TOPDIR)/initrd/proc/ \
$(TOPDIR)/initrd/sys/ \
$(TOPDIR)/initrd/initrd.img \
$(TOPDIR)/initrd.img
#
# Common directories
#
SRC_DIR = src/
X86_64_DIR = $(SRC_DIR)/$(ARCH)
#
# Bootloader stages
#
STAGE0 = boot0_$(ARCH).bin
STAGE1 = boot1_$(ARCH).bin
#
# Common utilities
#
DEV_NULL = /dev/null
DEV_ZERO = /dev/zero
STDERR_TO_DEV_NULL = 2> $(DEV_NULL)
STDOUT_TO_DEV_NULL = 1> $(DEV_NULL)
STD_ERR_OUT_TO_DEV_NULL = >/dev/null 2>&1
#
# set verbosity
#
ifndef V
QUIET_AS = @echo ' ' AS $@;
QUIET_LD = @echo ' ' LD $@;
QUIET_CC = @echo ' ' CC $@;
QUIET_CPP = @echo ' ' CPP $@;
QUIET_OBJS_CLEAN = @echo ' ' RM $(OBJECT_FILES);
QUIET_DISK_CLEAN = @echo ' ' RM $(IMAGE);
QUIET_ISO_CLEAN = @echo ' ' RM $(ISO);
QUIET_DISC_CREATE = @echo ' ' DD $(DISK_IMAGE);
QUIET_BIN_CLEAN = @echo ' ' RM $(BIN_FILES);
QUIET_INITRD_CLEAN = @echo ' ' RM initrd
MAKE_FLAGS = -s
else
QUIET_AS=
QUET_LD=
QUIET_CC=
QUET_CPP=
QUIET_OBJS_CLEAN=
QUIET_DISK_CLEAN=
QUIET_ISO_CLEAN=
QUIET_DISC_CREATE=
QUIET_INITRD_CLEAN=
MAKE_FLAGS=
endif
#
# set CXX
#
ifndef CXX
CXX = g++
endif
#
# set CC
#
ifndef CC
CC = gcc
endif