diff --git a/Makefile b/Makefile index 78090c6..ca58003 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,10 @@ PD_MAPPER := pd-mapper CFLAGS := -Wall -g -O2 LDFLAGS := -lqrtr +prefix ?= /usr/local +bindir := $(prefix)/bin +servicedir := $(prefix)/lib/systemd/system + SRCS := pd-mapper.c \ servreg_loc.c @@ -11,8 +15,12 @@ OBJS := $(SRCS:.c=.o) $(PD_MAPPER): $(OBJS) $(CC) -o $@ $^ $(LDFLAGS) -install: $(PD_MAPPER) - install -D -m 755 $< $(DESTDIR)$(prefix)/bin/$< +pd-mapper.service: pd-mapper.service.in + @sed 's+PD_MAPPER_PATH+$(bindir)+g' $< > $@ + +install: $(PD_MAPPER) pd-mapper.service + @install -D -m 755 $(PD_MAPPER) $(DESTDIR)$(bindir)/$(PD_MAPPER) + @install -D -m 644 pd-mapper.service $(DESTDIR)$(servicedir)/pd-mapper.service clean: - rm -f $(PD_MAPPER) $(OBJS) + rm -f $(PD_MAPPER) $(OBJS) pd-mapper.service diff --git a/pd-mapper.service.in b/pd-mapper.service.in new file mode 100644 index 0000000..09b594b --- /dev/null +++ b/pd-mapper.service.in @@ -0,0 +1,11 @@ +[Unit] +Description=Qualcomm PD mapper service +Requires=qrtr-ns.service +After=qrtr-ns.service + +[Service] +ExecStart=PD_MAPPER_PATH/pd-mapper +Restart=always + +[Install] +WantedBy=multi-user.target