view contrib/chg/Makefile @ 28454:8062869860b8

chg: remove manual reload logic chgserver now validates and reloads configs automatically. Manually reloading is no longer necessary. Besides, we are deprecating pid files since the server will periodically check its ownership of the socket file and exit if it does not own the socket file any longer, which works more reliable than a pid file. This patch removes the SIGHUP reload logic from both chg server and client.
author Jun Wu <quark@fb.com>
date Thu, 10 Mar 2016 00:12:33 +0000
parents 3ab370f84a23
children baa073200ba2
line wrap: on
line source

HG = $(CURDIR)/../../hg

TARGET = chg
SRCS = chg.c hgclient.c util.c
OBJS = $(SRCS:.c=.o)

CFLAGS ?= -O2 -Wall -Wextra -pedantic -g
CPPFLAGS ?= -D_FORTIFY_SOURCE=2
override CFLAGS += -std=gnu99

DESTDIR =
PREFIX = /usr/local
MANDIR = $(PREFIX)/share/man/man1

CHGSOCKDIR = /tmp/chg$(shell id -u)
CHGSOCKNAME = $(CHGSOCKDIR)/server

.PHONY: all
all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS)

chg.o: hgclient.h util.h
hgclient.o: hgclient.h util.h
util.o: util.h

.PHONY: install
install: $(TARGET)
	install -d $(DESTDIR)$(PREFIX)/bin
	install -m 755 $(TARGET) $(DESTDIR)$(PREFIX)/bin
	install -d $(DESTDIR)$(MANDIR)
	install -m 644 chg.1 $(DESTDIR)$(MANDIR)

.PHONY: serve
serve:
	[ -d $(CHGSOCKDIR) ] || ( umask 077; mkdir $(CHGSOCKDIR) )
	$(HG) serve --cwd / --cmdserver chgunix \
		--address $(CHGSOCKNAME) \
		--config extensions.chgserver= \
		--config cmdserver.log=/dev/stderr

.PHONY: clean
clean:
	$(RM) $(OBJS)

.PHONY: distclean
distclean:
	$(RM) $(OBJS) $(TARGET)