Files
2026-07-10 10:51:48 +01:00

55 lines
1.2 KiB
Makefile

.PHONY: all build clean lib
CXX = g++
WSL = wsl --shell-type login
EMXX = $(WSL) em++
EMAR = $(WSL) emar
CXXFLAGS = -std=c++20 -O2
SRC_FILES = ./src/main.cpp \
./src/lib.cpp
LIB_FILES = ./src/lib.cpp
all: build-lib build
run: build
./bin/assetpacker.exe
build-lib:
@mkdir -p bin
@mkdir -p bin/include/asset_packer
@cp -r ./src/include/* ./bin/include/asset_packer
$(CXX) $(CXXFLAGS) -I./src/include -c $(LIB_FILES) -o ./bin/asset_packer.o
ar rcs ./bin/libassetpacker.a ./bin/asset_packer.o
build-lib-web:
@mkdir -p bin
@mkdir -p bin/include/asset_packer
@cp -r ./src/include/* ./bin/include/asset_packer
$(EMXX) $(CXXFLAGS) -I./src/include -c $(LIB_FILES) -o ./bin/asset_packer.web.o
$(EMAR) rcs ./bin/libassetpacker.web.a ./bin/asset_packer.web.o
build:
@mkdir -p bin
@cp -r ./asset/ ./bin/
$(CXX) $(CXXFLAGS) $(SRC_FILES) -I./src/include -o ./bin/assetpacker.exe
compile_commands.json: clean
@echo "Generating compile_commands.json..."
bear -- $(MAKE)
clean:
@rm -r -f ./bin
@rm -f compile_commands.json
test:
@mkdir -p bin
@cp -r ./asset/ ./bin/stuff/
$(CXX) $(CXXFLAGS) -I./src/include $(LIB_FILES) ./src/test.cpp -o ./bin/test.exe
./bin/test.exe