17
17
include $(CURDIR ) /src/common.mk
18
18
19
19
LIBS := libload graphx fontlibc keypadc fileioc
20
+ SRCS := ce crt libc libcxx
21
+ TOOLS := fasmg convbin convimg convfont cedev-config
20
22
21
23
ifeq ($(OS ) ,Windows_NT)
22
24
WINDOWS_COPY := $(call COPY,tools\windows\make.exe,$(INSTALL_BIN ) ) && $(call COPY,tools\windows\cedev.bat,$(INSTALL_DIR ) )
23
25
else
24
26
WINDOWS_COPY :=
25
27
endif
26
28
27
- LIB_DIR = $(call NATIVEPATH,src/$1)
29
+ SRCDIR = $(call NATIVEPATH,src/$1)
30
+ TOOLSDIR = $(call NATIVEPATH,tools/$1)
28
31
29
- all : cedev-config convbin convimg convfont crt libc $(LIBS )
32
+ all : $( TOOLS ) $( SRCS ) $(LIBS )
30
33
31
- crt : check
32
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/crt )
34
+ $( TOOLS ) : check
35
+ $(Q )$(MAKE ) -C $(call TOOLSDIR, $@ )
33
36
34
- libc : check
35
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/libc)
36
-
37
- fasmg : check
38
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/fasmg)
39
-
40
- convbin : check
41
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/convbin) release
42
-
43
- convimg : check
44
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/convimg) release
45
-
46
- convfont : check
47
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/convfont)
48
-
49
- cedev-config : check
50
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/cedev-config)
37
+ $(SRCS ) :
38
+ $(Q )$(MAKE ) -C $(call SRCDIR,$@ )
51
39
52
40
$(LIBS ) : fasmg
53
- $(Q )$(MAKE ) -C $(call LIB_DIR ,$@ )
41
+ $(Q )$(MAKE ) -C $(call SRCDIR ,$@ )
54
42
55
- $(addprefix clean-,$(LIBS ) ) :
56
- $(Q )$(MAKE ) -C $(call LIB_DIR,$(patsubst clean-% ,% ,$@ ) ) clean
57
-
58
- install : all install-fasmg install-crt install-libc install-ce $(addprefix install-,$(LIBS ) )
43
+ install : all $(addprefix install-,$(SRCS ) ) $(addprefix install-,$(LIBS ) )
59
44
$(Q )$(MAKE ) -f linker.mk -C src
60
45
$(Q )$(call MKDIR,$(INSTALL_DIR ) )
61
46
$(Q )$(call MKDIR,$(INSTALL_BIN ) )
@@ -68,70 +53,48 @@ install: all install-fasmg install-crt install-libc install-ce $(addprefix insta
68
53
$(Q )$(call COPYDIR,$(call NATIVEPATH,examples/* ) ,$(INSTALL_EXAMPLES ) )
69
54
$(Q )$(call COPY,$(call NATIVEPATH,src/makefile.mk) ,$(INSTALL_META ) )
70
55
$(Q )$(call COPY,$(call NATIVEPATH,src/linker_script) ,$(INSTALL_META ) )
56
+ $(Q )$(call COPY,$(call NATIVEPATH,tools/fasmg/fasmg-ez80/commands.alm) ,$(INSTALL_META ) )
57
+ $(Q )$(call COPY,$(call NATIVEPATH,tools/fasmg/fasmg-ez80/ez80.alm) ,$(INSTALL_META ) )
58
+ $(Q )$(call COPY,$(call NATIVEPATH,tools/fasmg/fasmg-ez80/ld.alm) ,$(INSTALL_META ) )
71
59
$(Q )$(call COPY,$(call NATIVEEXE,tools/convfont/convfont) ,$(INSTALL_BIN ) )
72
60
$(Q )$(call COPY,$(call NATIVEEXE,tools/convimg/bin/convimg) ,$(INSTALL_BIN ) )
73
61
$(Q )$(call COPY,$(call NATIVEEXE,tools/convbin/bin/convbin) ,$(INSTALL_BIN ) )
74
62
$(Q )$(call COPY,$(call NATIVEEXE,tools/cedev-config/bin/cedev-config) ,$(INSTALL_BIN ) )
75
63
$(Q )$(WINDOWS_COPY )
76
64
77
- $(addprefix install-,$(LIBS ) ) : fasmg
78
- $(Q )$(MAKE ) -C $(call LIB_DIR,$(patsubst install-% ,% ,$@ ) ) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
79
-
80
- install-fasmg :
81
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/fasmg) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
82
-
83
- install-crt :
84
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/crt) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
85
-
86
- install-libc :
87
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/libc) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
65
+ $(addprefix install-,$(SRCS ) ) : $(TOOLS )
66
+ $(Q )$(MAKE ) -C $(call SRCDIR,$(patsubst install-% ,% ,$@ ) ) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
88
67
89
- install-ce :
90
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/ce ) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
68
+ $( addprefix install-, $( LIBS ) ) : $( TOOLS )
69
+ $(Q )$(MAKE ) -C $(call SRCDIR, $( patsubst install- % , % , $@ ) ) install PREFIX=$(PREFIX ) DESTDIR=$(DESTDIR )
91
70
92
- uninstall :
93
- $(Q )$(call RMDIR,$(INSTALL_DIR ) )
94
-
95
- libs : $(LIBS ) convbin
71
+ libs : $(LIBS ) $(TOOLS )
96
72
$(Q )$(call NATIVEEXE,tools/convbin/bin/convbin) --oformat 8xg-auto-extract \
97
- $(foreach library,$(LIBS ) ,$(addprefix --input ,$(call LIB_DIR ,$(library ) ) /$(library ) .8xv) ) --output $(call NATIVEPATH,clibs.8xg)
73
+ $(foreach library,$(LIBS ) ,$(addprefix --input ,$(call SRCDIR ,$(library ) ) /$(library ) .8xv) ) --output $(call NATIVEPATH,clibs.8xg)
98
74
99
- docs :
100
- $(Q )$(MAKE ) -C docs html
101
-
102
- clean : clean-crt clean-libc $(addprefix clean-,$(LIBS ) )
103
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/convbin) clean
104
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/convimg) clean
105
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/convfont) clean
106
- $(Q )$(MAKE ) -C $(call NATIVEPATH,tools/cedev-config) clean
75
+ clean : $(addprefix clean-,$(TOOLS ) ) $(addprefix clean-,$(SRCS ) ) $(addprefix clean-,$(LIBS ) )
107
76
$(Q )$(call REMOVE,src/linker_script)
108
77
$(Q )$(call REMOVE,clibs.8xg)
109
78
$(Q )$(call RMDIR,docs/build)
110
79
$(Q )$(call RMDIR,docs/doxygen)
111
80
112
- clean-crt :
113
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/crt ) clean
81
+ $( addprefix clean-, $( LIBS ) ) :
82
+ $(Q )$(MAKE ) -C $(call SRCDIR, $( patsubst clean- % , % , $@ ) ) clean
114
83
115
- clean-libc :
116
- $(Q )$(MAKE ) -C $(call NATIVEPATH,src/libc) clean
84
+ $(addprefix clean-,$(SRCS ) ) :
85
+ $(Q )$(MAKE ) -C $(call SRCDIR,$(patsubst clean-% ,% ,$@ ) ) clean
86
+
87
+ $(addprefix clean-,$(TOOLS ) ) :
88
+ $(Q )$(MAKE ) -C $(call TOOLSDIR,$(patsubst clean-% ,% ,$@ ) ) clean
117
89
118
90
check :
119
91
$(Q )$(EZCC ) --version || ( echo Please install ez80-clang && exit 1 )
120
92
$(Q )$(FASMG ) $(NULL ) $(NULL ) || ( echo Please install fasmg && exit 1 )
121
93
122
- help :
123
- @echo Helpful targets:
124
- @echo all
125
- @echo check
126
- @echo libs
127
- @echo docs
128
- @echo clean
129
- @echo install
130
- @echo uninstall
131
- @echo help
132
-
133
- .PHONY : $(LIBS )
134
- .PHONY : install-fasmg install-crt install-libc install-ce $(addprefix install-,$(LIBS ) )
135
- .PHONY : check clean clean-crt clean-libc $(addprefix clean-,$(LIBS ) )
136
- .PHONY : all help install uninstall libs docs
137
- .PHONY : fasmg convbin convimg convfont
94
+ docs :
95
+ $(Q )$(MAKE ) -C docs html
96
+
97
+ .PHONY : $(LIBS ) $(SRCS )
98
+ .PHONY : $(addprefix install-,$(SRCS ) ) $(addprefix install-,$(LIBS ) )
99
+ .PHONY : $(addprefix clean-,$(SRCS ) ) $(addprefix clean-,$(LIBS ) )
100
+ .PHONY : all check clean install libs docs
0 commit comments