Files
cell/Makefile
2026-02-18 19:26:06 -06:00

48 lines
1.4 KiB
Makefile
Executable File

BUILD = build
BUILD_DBG = build_debug
INSTALL_BIN = /opt/homebrew/bin
INSTALL_LIB = /opt/homebrew/lib
INSTALL_INC = /opt/homebrew/include
CELL_SHOP = $(HOME)/.cell
all: $(BUILD)/build.ninja
meson compile -C $(BUILD)
cp $(BUILD)/libcell_runtime.dylib .
cp $(BUILD)/cell .
$(BUILD)/build.ninja:
meson setup $(BUILD) -Dbuildtype=debugoptimized
debug: $(BUILD_DBG)/build.ninja
meson compile -C $(BUILD_DBG)
cp $(BUILD_DBG)/libcell_runtime.dylib .
cp $(BUILD_DBG)/cell .
$(BUILD_DBG)/build.ninja:
meson setup $(BUILD_DBG) -Dbuildtype=debug -Db_sanitize=address
install: all $(CELL_SHOP)
cp cell $(INSTALL_BIN)/cell
cp libcell_runtime.dylib $(INSTALL_LIB)/
cp source/cell.h source/quickjs.h source/wota.h $(INSTALL_INC)/
rm -rf $(CELL_SHOP)/packages/core
ln -s $(CURDIR) $(CELL_SHOP)/packages/core
@echo "Installed cell to $(INSTALL_BIN) and $(INSTALL_LIB)"
install_debug: debug $(CELL_SHOP)
cp cell $(INSTALL_BIN)/cell
cp libcell_runtime.dylib $(INSTALL_LIB)/
cp source/cell.h source/quickjs.h source/wota.h $(INSTALL_INC)/
rm -rf $(CELL_SHOP)/packages/core
ln -s $(CURDIR) $(CELL_SHOP)/packages/core
@echo "Installed cell (debug+asan) to $(INSTALL_BIN) and $(INSTALL_LIB)"
$(CELL_SHOP):
mkdir -p $(CELL_SHOP)/packages $(CELL_SHOP)/cache $(CELL_SHOP)/build
clean:
rm -rf $(BUILD) $(BUILD_DBG)
rm -f cell libcell_runtime.dylib
.PHONY: all install debug install_debug clean