.PHONY: install-freecad install-freecad-flatpak install-freecad-native uninstall-freecad help # Detect FreeCAD Mod directory (Flatpak or native) FREECAD_MOD_DIR_FLATPAK := $(HOME)/.var/app/org.freecad.FreeCAD/data/FreeCAD/Mod FREECAD_MOD_DIR_NATIVE := $(HOME)/.local/share/FreeCAD/Mod FREECAD_MOD_DIR_LEGACY := $(HOME)/.FreeCAD/Mod # Install FreeCAD workbench (auto-detect Flatpak or native) install-freecad: @if [ -d "$(HOME)/.var/app/org.freecad.FreeCAD" ]; then \ echo "Detected Flatpak FreeCAD (org.freecad.FreeCAD)"; \ mkdir -p $(FREECAD_MOD_DIR_FLATPAK); \ rm -f $(FREECAD_MOD_DIR_FLATPAK)/Silo; \ ln -sf $(PWD)/freecad $(FREECAD_MOD_DIR_FLATPAK)/Silo; \ echo "Installed to $(FREECAD_MOD_DIR_FLATPAK)/Silo"; \ else \ echo "Using native FreeCAD installation"; \ mkdir -p $(FREECAD_MOD_DIR_NATIVE); \ mkdir -p $(FREECAD_MOD_DIR_LEGACY); \ rm -f $(FREECAD_MOD_DIR_NATIVE)/Silo; \ rm -f $(FREECAD_MOD_DIR_LEGACY)/Silo; \ ln -sf $(PWD)/freecad $(FREECAD_MOD_DIR_NATIVE)/Silo; \ ln -sf $(PWD)/freecad $(FREECAD_MOD_DIR_LEGACY)/Silo; \ echo "Installed to $(FREECAD_MOD_DIR_NATIVE)/Silo"; \ fi @echo "" @echo "Restart FreeCAD to load the Silo workbench" install-freecad-flatpak: mkdir -p $(FREECAD_MOD_DIR_FLATPAK) rm -f $(FREECAD_MOD_DIR_FLATPAK)/Silo ln -sf $(PWD)/freecad $(FREECAD_MOD_DIR_FLATPAK)/Silo @echo "Installed to $(FREECAD_MOD_DIR_FLATPAK)/Silo" @echo "Restart FreeCAD to load the Silo workbench" install-freecad-native: mkdir -p $(FREECAD_MOD_DIR_NATIVE) mkdir -p $(FREECAD_MOD_DIR_LEGACY) rm -f $(FREECAD_MOD_DIR_NATIVE)/Silo rm -f $(FREECAD_MOD_DIR_LEGACY)/Silo ln -sf $(PWD)/freecad $(FREECAD_MOD_DIR_NATIVE)/Silo ln -sf $(PWD)/freecad $(FREECAD_MOD_DIR_LEGACY)/Silo @echo "Installed to $(FREECAD_MOD_DIR_NATIVE)/Silo" uninstall-freecad: rm -f $(FREECAD_MOD_DIR_FLATPAK)/Silo rm -f $(FREECAD_MOD_DIR_NATIVE)/Silo rm -f $(FREECAD_MOD_DIR_LEGACY)/Silo @echo "Uninstalled Silo workbench" help: @echo "Silo FreeCAD Workbench Makefile" @echo "" @echo " install-freecad Install workbench (auto-detect Flatpak/native)" @echo " install-freecad-flatpak Install for Flatpak FreeCAD" @echo " install-freecad-native Install for native FreeCAD" @echo " uninstall-freecad Remove workbench symlinks"