Skip to content

Commit 907b94d

Browse files
authored
Incorporate fujinet-lib into coco config (#137)
1 parent 88c357b commit 907b94d

File tree

2 files changed

+103
-364
lines changed

2 files changed

+103
-364
lines changed

Makefile.coco

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,29 @@ AS=lwasm
55
CP=cp
66
ECHO=echo
77
FIRMWARE_DIR="../fujinet-firmware"
8+
CURRENT_TARGET := coco
89
TARGET_EXEC=config.bin
910
DISK=autorun.dsk
1011
R2R_DIR=r2r/coco
1112
R2R_BIN=$(R2R_DIR)/$(DISK)
1213

13-
$(TARGET_EXEC): check_wifi.o connect_wifi.o destination_host_slot.o hosts_and_devices.o main.o perform_copy.o select_file.o select_slot.o set_wifi.o show_info.o bar.o die.o input.o io.o mount_and_boot.o screen.o strrchr.o strendswith.o pause.o
14-
$(CC) -o $@ $^
14+
FUJINET_LIB_VERSION = 4.7.9
15+
FUJINET_LIB = fujinet-lib
16+
17+
FUJINET_LIB_VERSION_DIR = $(FUJINET_LIB)/$(FUJINET_LIB_VERSION)-$(CURRENT_TARGET)
18+
FUJINET_LIB_PATH = $(FUJINET_LIB_VERSION_DIR)/fujinet-$(CURRENT_TARGET)-$(FUJINET_LIB_VERSION).lib
19+
FUJINET_LIB_DOWNLOAD_URL = https://github.com/FujiNetWIFI/fujinet-lib/releases/download/v$(FUJINET_LIB_VERSION)/fujinet-lib-$(CURRENT_TARGET)-$(FUJINET_LIB_VERSION).zip
20+
FUJINET_LIB_DOWNLOAD_FILE = $(FUJINET_LIB)/fujinet-lib-$(CURRENT_TARGET)-$(FUJINET_LIB_VERSION).zip
21+
FUJINET_LIB_BASENAME := $(notdir $(FUJINET_LIB_PATH))
22+
FUJINET_LIB_SYMLINK := libfujinet-$(CURRENT_TARGET)-$(FUJINET_LIB_VERSION).lib.a
23+
24+
LIBS=-L $(FUJINET_LIB_VERSION_DIR) -l$(FUJINET_LIB_BASENAME)
25+
CFLAGS=-DUSING_FUJINET_LIB -I$(FUJINET_LIB_VERSION_DIR)
26+
LIMITFLAGS=--org=0E00 --limit=7C00
27+
28+
OBJS = check_wifi.o connect_wifi.o destination_host_slot.o hosts_and_devices.o main.o perform_copy.o select_file.o select_slot.o set_wifi.o show_info.o bar.o die.o input.o io.o mount_and_boot.o screen.o strrchr.o strendswith.o pause.o
29+
$(TARGET_EXEC): $(OBJS)
30+
$(CC) $(LIMITFLAGS) -o $@ $^ $(LIBS)
1531

1632
cfgload.bin:
1733
$(AS) -o $@ src/coco/cfgload.asm
@@ -27,15 +43,35 @@ dist: $(R2R_BIN) cfgload.bin
2743
$(CP) $< $(FIRMWARE_DIR)/data/webui/device_specific/BUILD_COCO/
2844
$(ECHO) Now, Do a Upload Filesystem task.
2945

30-
.PHONY: r2r
46+
.PHONY: r2r get_fujinet_lib
3147

3248
# Create the "Ready 2 Run" executable/disk
3349
r2r: $(R2R_BIN)
3450

51+
get_fujinet_lib:
52+
@if [ ! -f "$(FUJINET_LIB_DOWNLOAD_FILE)" ]; then \
53+
if [ -d "$(FUJINET_LIB_VERSION_DIR)" ]; then \
54+
echo "A directory already exists with version $(FUJINET_LIB_VERSION) - please remove it first"; \
55+
exit 1; \
56+
fi; \
57+
HTTPSTATUS=$$(curl -Is $(FUJINET_LIB_DOWNLOAD_URL) | head -n 1 | awk '{print $$2}'); \
58+
if [ "$${HTTPSTATUS}" == "404" ]; then \
59+
echo "ERROR: Unable to find file $(FUJINET_LIB_DOWNLOAD_URL)"; \
60+
exit 1; \
61+
fi; \
62+
echo "Downloading fujinet-lib for $(CURRENT_TARGET) version $(FUJINET_LIB_VERSION) from $(FUJINET_LIB_DOWNLOAD_URL)"; \
63+
mkdir -p $(FUJINET_LIB); \
64+
curl -L $(FUJINET_LIB_DOWNLOAD_URL) -o $(FUJINET_LIB_DOWNLOAD_FILE); \
65+
echo "Unzipping to $(FUJINET_LIB)"; \
66+
unzip -o $(FUJINET_LIB_DOWNLOAD_FILE) -d $(FUJINET_LIB_VERSION_DIR); \
67+
echo "Unzip complete."; \
68+
cd "$(FUJINET_LIB_VERSION_DIR)" && ln -sf "$(FUJINET_LIB_BASENAME)" "$(FUJINET_LIB_SYMLINK)" ; \
69+
fi
70+
3571
$(R2R_DIR):
3672
mkdir -p $@
3773

38-
%.o: %.c
74+
%.o: %.c get_fujinet_lib
3975
$(CC) $(CFLAGS) -c -o $@ $<
4076

4177
vpath %.c src src/coco
@@ -46,3 +82,4 @@ clean:
4682
$(RM) cfgload.bin
4783
$(RM) $(TARGET_EXEC)
4884
$(RM) $(DISK)
85+
$(RM) $(R2R_BIN)

0 commit comments

Comments
 (0)