From 9beb9331c055cf30e114d99810b8837ce5c7b182 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 29 Jun 2015 00:43:52 -0600 Subject: Start re-jiggering RVS. --- rvs/common.once.mk | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 rvs/common.once.mk (limited to 'rvs/common.once.mk') diff --git a/rvs/common.once.mk b/rvs/common.once.mk new file mode 100644 index 0000000..fc0aeb5 --- /dev/null +++ b/rvs/common.once.mk @@ -0,0 +1,38 @@ +# Copyright (C) 2015 Luke Shumaker +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +# Make directories +dirs += $(addprefix $(DESTDIR),$(bindir) $(libexedir) $(datarootdir) $(datadir) $(sysconfdir) $(sharedstatedir) $(localstatedir) $(runstatedir) $(pkgdatadir) $(pkglibexecdir)) +$(sort $(dirs)): + $(MKDIRS) $@ + +# Have GCC generate header dependency info (pair this with `-include` +# in common.each.mk +ifneq ($(AUTODEPS),) +CFLAGS += -MD -MF $(patsubst $(@D)/%.o,$(@D)/.%.mk,$@) -MP +endif + +CPPFLAGS += -I$(topobjdir) +M4FLAGS += -I$(topobjdir) + +all_clean_files += $(topobjdir)/config.sh $(topobjdir)/config.h +config_vars = $(shell $(SED) -n 's/^\s*\([a-z][^ !?:=]*\).*=.*/\1/p' $(topobjdir)/config.mk) PACKAGE VERSION DESTDIR +$(topobjdir)/config.sh: $(topobjdir)/config.mk + $(PRINTF) '%s=%s\n' $(foreach v,$(config_vars),$v $($v)) | LC_ALL=C $(SORT) > $@ +$(topobjdir)/config.h: $(topobjdir)/config.sh + . $(abspath $<) && $(PRINTF) '#define %s "%s"\n' $(foreach v,$(config_vars),$v '$($v)') PACKAGE_UPPER $${PACKAGE^^} | LC_ALL=C $(SORT) > $@ + +# Should be on by default +.DELETE_ON_ERROR: -- cgit v1.2.3