-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathMakefile.arm
65 lines (54 loc) · 1.78 KB
/
Makefile.arm
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
###################################################################
# 主控自动化编译配置文件 Makefile #
# 彭东 @ 2012.08.13.23.50 #
###################################################################
MAKEFLAGS =-sR
MKDIR = mkdir
RMDIR = rmdir
CP = cp
CD = cd
DD = dd
RM = rm
MAKE = make
MKIMAGE =mkimage
SUPERUSER =sudo
DKAPP =./dnw2
DKAPFLAGES = lmosemkrnl.bin
PREMENTMFLGS = -C $(BUILD_PATH) -f pretreatment.mkf
ARMHALYMFLGS = -C $(BUILD_PATH) -f lmosemhal.mk
ARMKRNLMFLGS = -C $(BUILD_PATH) -f lmosemkrl.mk
ARMDRIVMFLGS = -C $(BUILD_PATH) -f lmosemdrv.mk
ARMLIBSMFLGS = -C $(BUILD_PATH) -f lmosemlib.mk
ARMTASKMFLGS = -C $(BUILD_PATH) -f lmosemtask.mk
ARMLINKMFLGS = -C $(BUILD_PATH) -f lmosemlink.mk
DSTPATH = ../exckrnl
RELEDSTPATH = ../release
SRCFILE = lmosemkrnl.bin lmosemkrnl.elf
BUILD_PATH = ./build
EXKNL_PATH = ./exckrnl
BOOTEXCIMG = lmosem.bin
DSKIMG =flash.img
.PHONY : build print clean all cpkrnl knlexc writekrl downkrnl
build: clean print all
all:
$(MAKE) $(PREMENTMFLGS)
$(MAKE) $(ARMHALYMFLGS)
$(MAKE) $(ARMKRNLMFLGS)
$(MAKE) $(ARMDRIVMFLGS)
$(MAKE) $(ARMLIBSMFLGS)
$(MAKE) $(ARMTASKMFLGS)
$(MAKE) $(ARMLINKMFLGS)
@echo '恭喜我,系统编译构建完成! ^_^'
clean:
$(CD) $(BUILD_PATH); $(RM) -f *.mkh *.lds *.o *.bin *.i *.elf *.krnl *.s *.map *.lib *.btoj *.vdi *vmdk
$(CD) $(EXKNL_PATH); $(RM) -f *.mkh *.lds *.o *.bin *.i *.elf *.krnl *.s *.map *.lib *.btoj *.vdi *vmdk
@echo '清理全部已构建文件... ^_^'
print:
@echo '*********正在开始编译构建系统*************'
knlexc: cpkrnl downkrnl
cpkrnl:
$(CD) $(BUILD_PATH) && $(CP) $(CPFLAGES) $(SRCFILE) $(DSTPATH)
writekrl:
$(CD) $(EXKNL_PATH) && $(DD) bs=512 if=$(BOOTEXCIMG) of=$(DSKIMG) conv\=notrunc
downkrnl:
$(CD) $(EXKNL_PATH) && $(SUPERUSER) $(DKAPP) $(DKAPFLAGES)