55 lines
1.2 KiB
Makefile
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
|
|
|
|
|