summaryrefslogtreecommitdiff
path: root/proto/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'proto/Makefile')
-rw-r--r--proto/Makefile31
1 files changed, 20 insertions, 11 deletions
diff --git a/proto/Makefile b/proto/Makefile
index 6c15198..4b81a28 100644
--- a/proto/Makefile
+++ b/proto/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2015 Luke Shumaker <lukeshu@sbcglobal.net>
+# Copyright (C) 2015-2016 Luke Shumaker <lukeshu@sbcglobal.net>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -15,23 +15,32 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA
+ifeq ($(origin topsrcdir),undefined)
srcdir := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
-
-generate += $(srcdir)/server/interface_backend.go
-generate += $(srcdir)/server/func_handlerequest.go
-generate += $(srcdir)/server/type_nilbackend.go
-generate_secondary += $(srcdir)/requests.txt
-
-ifeq (1,$(words $(MAKEFILE_LIST)))
- include common.mk
+.DEFAULT_GOAL = all
+else
+include $(topsrcdir)/build-aux/Makefile.head.mk
endif
+std.gen_files += server/interface_backend.go
+std.gen_files += server/func_handlerequest.go
+std.gen_files += server/type_nilbackend.go
+std.secondary_gen_files += requests.txt
+
$(srcdir)/requests.txt: $(srcdir)/nslcd_h.go $(srcdir)/Makefile
< $< grep -Eo '\btype Request_([^_ ]+)(_\S+)?' | sed 's/^type Request_//' > $@
-%.go: %.go.sh
- $(call rel,$^) > $@
+_nslcd.srcdir := $(srcdir)
+_nslcd.rel=$(patsubst $(abspath $(_nslcd.srcdir))/%,./%,$(abspath $1))
+$(srcdir)/%.go: $(srcdir)/%.go.sh
+ cd $(srcdir) && $(call _nslcd.rel,$^) > $(call _nslcd.rel,$@)
$(srcdir)/server/interface_backend.go: $(srcdir)/requests.txt
$(srcdir)/server/func_handlerequest.go: $(srcdir)/requests.txt
$(srcdir)/server/type_nilbackend.go: $(srcdir)/server/interface_backend.go
+
+ifeq ($(origin topsrcdir),undefined)
+include $(srcdir)/common.mk
+else
+include $(topsrcdir)/build-aux/Makefile.tail.mk
+endif