-
Notifications
You must be signed in to change notification settings - Fork 3.4k
/
Copy pathbuild.mak
57 lines (40 loc) · 1012 Bytes
/
build.mak
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
CP = cp
RM = rm
MKDIR = mkdir
TRUE = true
CC = gcc
CXX = g++
AS = nasm
LD = ld
AR = ar
RANLIB = ranlib
STRIP = strip
INCDIR = $(SDKDIR)/include
LIBDIR = $(SDKDIR)/lib
DEFS:= $(DEFS)
CFLAGS = -I $(INCDIR) -Wall -fno-builtin -g -O2 -w -trigraphs -fno-exceptions -fno-stack-protector -O0 -m32 -fno-rtti $(DEFS)
CXXFLAGS = $(CFLAGS)
ASFLAGS = $(CFLAGS)
ifeq ($(CRT_FILE),)
CRT_FILE = crt_c.o
endif
LDFLAGS = -melf_i386 -L $(INCDIR) -T ./linker.ld --entry=_start -nostdlib -L $(LIBDIR) -lc $(LIBS)
MYOS_VERSION=500
all: $(TARGET)
$(TARGET): $(OBJS)
$(LD) -o $@ $^ $(SDKDIR)/lib/$(CRT_FILE) $(LDFLAGS)
cp $(TARGET) $(SDKDIR)/bootdisk/bin/$(TARGET)
install:
cp $(TARGET) $(SDKDIR)/bootdisk/bin/$(TARGET)
run:
cd $(SDKDIR) && sh ./diskimage.sh
cd $(SDKDIR) && sh ./qemu.sh
%.o: %.c
$(CC) $(CFLAGS) -c $<
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $<
%.o: %.cc
$(CXX) $(CXXFLAGS) -c $<
.PHONY: clean
clean:
rm -rf *.o $(TARGET)