frontends/Makefile

67 lines
2.0 KiB
Makefile

all: build
nil:
reactNextJS/out/*: reactNextJS/app/* reactNextJS/*.js reactNextJS/*.json
cd reactNextJS && npm install && npm run build
nextjs: reactNextJS/out/*
cleanNext:
rm -rf reactNextJS/out
vuejs/dist/*: vuejs/src/*
cd vuejs && npm install && npm run build
vuejs: vuejs/dist/*
cleanVue:
rm -rf ./vuejs/dist
svelte/dist/*: svelte/src/*
cd svelte && npm install && npm run build
svelte: svelte/dist/*
cleanSvelte:
rm -rf ./svelte/dist
cleanbuild:
rm -rf tmp/build
tmp/build: cleanbuild
mkdir -p tmp/build
tmp/build/vanillaJS: tmp/build vanillaJS/index.html
mkdir tmp/build/vanillaJS && \
cp ./vanillaJS/index.html ./tmp/build/vanillaJS
tmp/build/react: tmp/build react/index.html
mkdir tmp/build/react && \
cp ./react/index.html ./tmp/build/react/
tmp/build/alpinejs: alpinejs/index.html
mkdir tmp/build/alpinejs && \
cp ./alpinejs/index.html ./tmp/build/alpinejs
tmp/build/_next: tmp/build reactNextJS/out/*
mkdir ./tmp/build/_next && \
cp -r ./reactNextJS/out/_next ./tmp/build/
tmp/build/reactNextJS: tmp/build reactNextJS/out/*
mkdir ./tmp/build/reactNextJS && \
cp ./reactNextJS/out/*.* ./tmp/build/reactNextJS/
tmp/build/assets: tmp/build svelte/dist/* vuejs/dist/*
mkdir tmp/build/assets && \
cp svelte/dist/assets/* tmp/build/assets/ && \
cp vuejs/dist/assets/* tmp/build/assets/
tmp/build/vuejs: tmp/build vuejs/dist/*
mkdir ./tmp/build/vuejs && \
cp ./vuejs/dist/*.* ./tmp/build/vuejs/
tmp/build/svelte: tmp/build svelte/dist/*
mkdir ./tmp/build/svelte && \
cp -r ./svelte/dist/* ./tmp/build/svelte/
tmp/build/index.html: tmp/build index.html
cp index.html tmp/build/
web: tmp/build/assets tmp/build/vanillaJS tmp/build/react tmp/build/alpinejs tmp/build/_next tmp/build/reactNextJS tmp/build/assets tmp/build/vuejs tmp/build/svelte tmp/build/index.html
build: web server.go
go build server.go
run: web server.go
go run server.go
air: nil web server.go
air server.go
clean: cleanNext cleanVue cleanSvelte
rm -rf tmp
rm -f server
.PHONY: all build clean cleanbuild nextjs vuejs svelte run air nil web