2017-06-16 15:05:37 +02:00
|
|
|
# Makefile for Anime Notifier
|
|
|
|
|
2019-08-27 17:45:18 +09:00
|
|
|
# Constants
|
2018-03-21 20:22:57 +01:00
|
|
|
GOTEST=@./utils/test/go-test-color.sh
|
2019-08-27 17:45:18 +09:00
|
|
|
PACK=$(shell command -v pack 2> /dev/null)
|
|
|
|
RUN=$(shell command -v run 2> /dev/null)
|
2019-04-19 15:38:33 +09:00
|
|
|
SERVICEFILE=/etc/systemd/system/animenotifier.service
|
2018-02-19 06:13:33 +01:00
|
|
|
|
|
|
|
# Determine the name of the platform
|
2017-11-08 12:11:20 +01:00
|
|
|
OSNAME=
|
|
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
OSNAME = WINDOWS
|
|
|
|
else
|
|
|
|
UNAME_S := $(shell uname -s)
|
|
|
|
ifeq ($(UNAME_S),Linux)
|
|
|
|
OSNAME = LINUX
|
|
|
|
endif
|
|
|
|
ifeq ($(UNAME_S),Darwin)
|
|
|
|
OSNAME = OSX
|
|
|
|
endif
|
|
|
|
endif
|
2017-06-16 15:05:37 +02:00
|
|
|
|
2018-02-19 06:13:33 +01:00
|
|
|
# Build targets
|
2017-06-16 15:05:37 +02:00
|
|
|
server:
|
2019-08-27 17:45:18 +09:00
|
|
|
@go build
|
|
|
|
deps:
|
|
|
|
go mod download
|
2017-06-16 15:05:37 +02:00
|
|
|
jobs:
|
2019-08-27 17:45:18 +09:00
|
|
|
@./jobs/build.sh
|
2017-07-17 22:50:14 +02:00
|
|
|
bots:
|
2019-08-27 17:45:18 +09:00
|
|
|
@./bots/build.sh
|
2017-06-16 15:38:10 +02:00
|
|
|
patches:
|
2019-08-27 17:45:18 +09:00
|
|
|
@./patches/build.sh
|
2017-06-16 15:05:37 +02:00
|
|
|
test:
|
2018-03-21 20:22:57 +01:00
|
|
|
$(GOTEST) github.com/animenotifier/notify.moe -v -cover
|
2017-06-16 15:05:37 +02:00
|
|
|
bench:
|
|
|
|
$(GOTEST) -bench .
|
2018-04-07 14:17:33 +02:00
|
|
|
pack:
|
2019-06-01 13:55:49 +09:00
|
|
|
go install github.com/aerogo/pack/...
|
2018-04-07 14:17:33 +02:00
|
|
|
run:
|
2019-06-01 13:55:49 +09:00
|
|
|
go install github.com/aerogo/run/...
|
2017-07-06 01:51:42 +02:00
|
|
|
tools:
|
2017-11-08 14:54:43 +01:00
|
|
|
ifeq ($(OSNAME),OSX)
|
|
|
|
brew install coreutils
|
|
|
|
endif
|
2018-04-07 14:17:33 +02:00
|
|
|
@make pack
|
|
|
|
@make run
|
2019-04-21 13:38:56 +09:00
|
|
|
service:
|
|
|
|
sudo cp systemd.service $(SERVICEFILE)
|
|
|
|
sudo sed -i "s|MAKEFILE_USER|$(USER)|g" $(SERVICEFILE)
|
|
|
|
sudo sed -i "s|MAKEFILE_PWD|$(PWD)|g" $(SERVICEFILE)
|
|
|
|
sudo sed -i "s|MAKEFILE_EXEC|$(PWD)/notify.moe|g" $(SERVICEFILE)
|
|
|
|
sudo systemctl daemon-reload
|
|
|
|
@echo -e "\nYou can now start the service using:\n\nsudo systemctl start animenotifier.service"
|
2017-06-16 15:29:09 +02:00
|
|
|
assets:
|
2019-08-27 17:45:18 +09:00
|
|
|
@tsc
|
2017-06-16 15:29:09 +02:00
|
|
|
@pack
|
2017-06-16 15:38:10 +02:00
|
|
|
clean:
|
2017-06-16 15:42:22 +02:00
|
|
|
find . -type f | xargs file | grep "ELF.*executable" | awk -F: '{print $1}' | xargs rm
|
2019-04-14 19:04:08 +09:00
|
|
|
find . -type f | grep /scripts/ | grep .js | xargs rm
|
2019-04-21 13:38:56 +09:00
|
|
|
rm -rf ./components
|
2017-06-16 15:21:01 +02:00
|
|
|
ports:
|
2017-11-08 12:11:20 +01:00
|
|
|
ifeq ($(OSNAME),LINUX)
|
2019-08-27 17:45:18 +09:00
|
|
|
@sudo iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 4000
|
|
|
|
@sudo iptables -t nat -A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to-port 4001
|
|
|
|
@sudo ip6tables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 4000
|
|
|
|
@sudo ip6tables -t nat -A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to-port 4001
|
2017-11-08 12:11:20 +01:00
|
|
|
endif
|
|
|
|
ifeq ($(OSNAME),OSX)
|
|
|
|
@echo "rdr pass inet proto tcp from any to any port 443 -> 127.0.0.1 port 4001" | sudo pfctl -ef -
|
|
|
|
endif
|
2018-04-07 14:17:33 +02:00
|
|
|
all: tools assets server bots jobs patches
|
2017-06-16 15:05:37 +02:00
|
|
|
|
2018-04-07 14:17:33 +02:00
|
|
|
.PHONY: tools assets server bots jobs patches ports clean versions
|