# -------------------------------------------------------------------------- # arbor - Multi-Architecture Makefile # Copyright (C) 2026 Wizardry and Steamworks - License: MIT # -------------------------------------------------------------------------- CC = System:Development/vbcc/bin/vc SRC = arbor.c # Target binaries T_68K = c/arbor_68k T_K13 = c/arbor_kick13 T_020 = c/arbor_68020_soft T_FPU = c/arbor_68020_fpu T_MOS = c/arbor_morphos T_PUP = c/arbor_powerup T_WOS = c/arbor_warpos .PHONY: all clean all: @mkdir -p c @echo "============================================================" @echo " arbor - Multi-Architecture Build" @echo " Copyright (C) 2026 Wizardry and Steamworks" @echo "============================================================" @echo "" # 1. AmigaOS 3.x (68k) @echo "[1/7] Building AmigaOS 3.x (68k)..." $(CC) +aos68k -lamiga -o $(T_68K) $(SRC) # 2. Kickstart 1.3 (no ReadArgs) @echo "[2/7] Building Kickstart 1.3..." $(CC) +kick13 -DNO_READARGS -o $(T_K13) $(SRC) # 3. Motorola 68020 (Soft FPU) @echo "[3/7] Building 68020 (Soft FPU)..." $(CC) +aos68k -cpu=68020 -fpu=none -lamiga -o $(T_020) $(SRC) # 4. Motorola 68020 + FPU (68881) @echo "[4/7] Building 68020 + FPU..." $(CC) +aos68k -cpu=68020 -fpu=68881 -lm881 -lamiga -o $(T_FPU) $(SRC) # 5. Native MorphOS (PPC) @echo "[5/7] Building MorphOS (PPC)..." $(CC) +morphos -O1 -D__MORPHOS_SHAREDLIBS -o $(T_MOS) $(SRC) -lamiga # 6. PowerUp PPC @echo "[6/7] Building PowerUp (PPC)..." $(CC) +powerup -o $(T_PUP) $(SRC) -lamiga # 7. WarpOS PPC @echo "[7/7] Building WarpOS (PPC)..." $(CC) +warpos -o $(T_WOS) $(SRC) -lamiga @echo "" @echo "============================================================" @echo " Build Successful!" @echo "============================================================" @ls -la c/arbor_* @echo "" @echo " Target | Description" @echo " ------------+---------------------------------------------" @echo " arbor_68k | AmigaOS 3.x (68k) - Recommended" @echo " arbor_kick13| Kickstart 1.3 (no ReadArgs)" @echo " arbor_68020_soft | 68020 (Soft FPU)" @echo " arbor_68020_fpu | 68020 + FPU (68881)" @echo " arbor_morphos | Native MorphOS (PPC)" @echo " arbor_powerup | PowerUp (PPC)" @echo " arbor_warpos | WarpOS (PPC)" @echo "" @echo "============================================================" @echo " WarpOS Note:" @echo " ------------" @echo " On MorphOS/OS4 WarpOS emulation, you may see a" @echo " 'ChangeStack' error dialog. Click 'Continue' - the" @echo " program works correctly. Real WarpOS hardware does" @echo " not show this error." @echo "" @echo " For a completely clean experience on all platforms," @echo " use the 68k version (arbor_68k)." @echo "============================================================" clean: @echo "Cleaning..." -delete quiet $(T_68K) $(T_K13) $(T_020) $(T_FPU) $(T_MOS) $(T_PUP) $(T_WOS) @echo "Clean complete." # -------------------------------------------------------------------------- # Individual targets # -------------------------------------------------------------------------- 68k: @mkdir -p c $(CC) +aos68k -lamiga -o $(T_68K) $(SRC) kick13: @mkdir -p c $(CC) +kick13 -DNO_READARGS -o $(T_K13) $(SRC) 020: @mkdir -p c $(CC) +aos68k -cpu=68020 -fpu=none -lamiga -o $(T_020) $(SRC) fpu: @mkdir -p c $(CC) +aos68k -cpu=68020 -fpu=68881 -lm881 -lamiga -o $(T_FPU) $(SRC) morphos: @mkdir -p c $(CC) +morphos -O1 -D__MORPHOS_SHAREDLIBS -o $(T_MOS) $(SRC) -lamiga powerup: @mkdir -p c $(CC) +powerup -o $(T_PUP) $(SRC) -lamiga warpos: @mkdir -p c @echo "============================================================" @echo " WarpOS Build" @echo "============================================================" @echo " Note: May show 'ChangeStack' dialog on MorphOS/OS4." @echo " Click 'Continue' - the program works." @echo " Real WarpOS hardware: No error." @echo "============================================================" $(CC) +warpos -o $(T_WOS) $(SRC) -lamiga help: @echo "arbor Makefile targets:" @echo "" @echo " all - Build all targets (default)" @echo " 68k - Build AmigaOS 3.x (68k)" @echo " kick13 - Build Kickstart 1.3" @echo " 020 - Build 68020 (Soft FPU)" @echo " fpu - Build 68020 + FPU" @echo " morphos - Build MorphOS (PPC)" @echo " powerup - Build PowerUp (PPC)" @echo " warpos - Build WarpOS (PPC)" @echo " clean - Remove all binaries" @echo " help - Show this help" @echo "" @echo "Recommended: Use arbor_68k for best compatibility."