-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
82 lines (61 loc) · 1.55 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
81
82
FORMAT?=raw
FLAVOR?=_dbg
BUILD_DIR=BUILD
ROM_NAME=$(BUILD_DIR)/ext_$(FORMAT)$(FLAVOR).rom
DISK_NAME=$(BUILD_DIR)/disk_$(FORMAT).rodi
DEV_NAME=src/BUILD/romdisk.device$(FLAVOR)
FLAVORS=_rel _dbg
FORMATS=raw nop rnc dflt lz4
include version.mk
DIST_NAME=romdisk_$(PROJECT_MAJOR).$(PROJECT_MINOR)
all: $(ROM_NAME)
force:
rm -f $(DEV_NAME)
$(MAKE)
formats:
@for f in $(FORMATS) ; do \
$(MAKE) FORMAT=$$f || exit 1 ; \
done
@echo "--- formats $(FORMATS) ---"
flavors:
@for f in $(FLAVORS) ; do \
$(MAKE) FLAVOR=$$f formats || exit 1 ; \
done
@echo "--- flavors $(FLAVORS) ---"
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
$(DEV_NAME):
$(MAKE) -C src FLAVOR=$(FLAVOR)
$(DISK_NAME): $(BUILD_DIR) ROMDISK
./mkromdisk $@ -d ROMDISK -p 15 -f $(FORMAT)
$(ROM_NAME): $(DEV_NAME) $(DISK_NAME)
romtool -v build -o $@ -t ext $^
clean_all: clean clean_dist
$(MAKE) -C src clean
rm -rf DIST
clean:
rm -rf BUILD
dist_dirs:
@mkdir -p $(DIST_NAME)/devs $(DIST_NAME)/roms $(DIST_NAME)/doc
dist_flavors:
@for f in $(FLAVORS) ; do \
$(MAKE) FLAVOR=$$f dist_formats || exit 1 ; \
done
dist_formats:
@for f in $(FORMATS) ; do \
$(MAKE) FORMAT=$$f dist_local || exit 1 ; \
done
dist_local: $(ROM_NAME)
cp $(ROM_NAME) $(DIST_NAME)/roms
dist: dist_dirs dist_flavors
@$(MAKE) -C src dist DIST_DIR=../$(DIST_NAME)
@cp README.md $(DIST_NAME)/
@cp mkromdisk $(DIST_NAME)/
@cp doc/*.md $(DIST_NAME)/doc/
@echo "--- dist: $(DIST_NAME) ---"
@ls -laR $(DIST_NAME)
dist_zip: dist
@zip -r -9 $(DIST_NAME).zip $(DIST_NAME)
clean_dist:
rm -rf $(DIST_NAME)
rm -f $(DIST_NAME).zip