@@ -5,13 +5,29 @@ AS=lwasm
55CP=cp
66ECHO=echo
77FIRMWARE_DIR="../fujinet-firmware"
8+ CURRENT_TARGET := coco
89TARGET_EXEC=config.bin
910DISK=autorun.dsk
1011R2R_DIR=r2r/coco
1112R2R_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
1632cfgload.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
3349r2r: $(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
4177vpath %.c src src/coco
4682 $(RM) cfgload.bin
4783 $(RM) $(TARGET_EXEC)
4884 $(RM) $(DISK)
85+ $(RM) $(R2R_BIN)
0 commit comments