view contrib/chg/Makefile @ 43131:c17a63eb5d4c

sidedata: apply basic but tight security around exchange We don't currently have code to deal with exchange between repository using sidedata and repository not using sidedata. Until we implement such code (eg: dropping side data when pushing to a non-sidedata repo) we prevent the two kind of repo to speak to each other. This is somewhere similar to what 'treemanifest' does. Note that sidedata exchange is broken unless one use changegroup v3 anyway. See next changeset for details. Differential Revision: https://phab.mercurial-scm.org/D6939
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 06 Oct 2019 23:36:51 -0400
parents 01c57eeb35cb
children 4c8d9b53b1c7
line wrap: on
line source

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

CFLAGS ?= -O2 -Wall -Wextra -pedantic -g
CPPFLAGS ?= -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE
override CFLAGS += -std=gnu99
ifdef HGPATH
override CPPFLAGS += -DHGPATH=\"$(HGPATH)\"
endif

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

.PHONY: all
all: $(TARGET)

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

chg.o: hgclient.h procutil.h util.h
hgclient.o: hgclient.h procutil.h util.h
procutil.o: procutil.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: clean
clean:
	$(RM) $(OBJS)

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