Download
49 lines 1.3 KiBMakefileModified 2020-09-18 raw
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
PREFIX=
TARGET ?= /var/www
CFLAGS=-std=c99 -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L
CWARN=-Wall -Wpedantic -Wextra -Wno-unknown-pragmas -Wno-missing-field-initializers\
	  -Wno-padded -Wsign-conversion -Wno-missing-noreturn -Wno-cast-qual -Wtype-limits
OFLAGS=-O3

all: http-msg minserv

http-msg: http-msg.c
	cc $(CFLAGS) $(CWARN) $(OFLAGS) $< -o $@

minserv: minserv.c
	cc $(CFLAGS) $(CWARN) $(OFLAGS) $< -o $@

clean:
	rm -f http-msg minserv

install:
	@prefix="$(PREFIX)"; \
	if [ ! "$$prefix" ]; then \
		printf '\033[1mWhere do you want to install? (default: /usr/local) \033[0m'; \
		read prefix; \
	fi; \
	[ ! "$$prefix" ] && prefix="/usr/local"; \
	mkdir -pv -m 755 "$$prefix/bin" /var/www \
	&& cp -v minserv http-msg "$$prefix/bin/" \
	&& cp -v minserv.xinetd /etc/xinetd.d/minserv

uninstall:
	@prefix="$(PREFIX)"; \
	if [ ! "$$prefix" ]; then \
		printf '\033[1mWhere do you want to uninstall from? (default: /usr/local) \033[0m'; \
		read prefix; \
	fi; \
	[ ! "$$prefix" ] && prefix="/usr/local"; \
	echo "Deleting..."; \
	rm -rvf "$$prefix/bin/minserv" "$$prefix/bin/http-msg" /etc/xinetd.d/minserv

syncexample:
	cd example && sudo rsync -azzhtP --delete ./ $(TARGET)/

runexample: killexample
	sudo xinetd -d -dontfork

killexample:
	sudo killall -9 minserv || true

.PHONY: all install uninstall syncexample runexample killexample clean