summaryrefslogtreecommitdiff
path: root/buildlib
diff options
context:
space:
mode:
Diffstat (limited to 'buildlib')
-rw-r--r--buildlib/copy.mak2
-rw-r--r--buildlib/library.mak4
-rw-r--r--buildlib/po4a_manpage.mak12
-rw-r--r--buildlib/podomain.mak7
4 files changed, 16 insertions, 9 deletions
diff --git a/buildlib/copy.mak b/buildlib/copy.mak
index e8fe43deb..3ae11a7eb 100644
--- a/buildlib/copy.mak
+++ b/buildlib/copy.mak
@@ -21,7 +21,7 @@ veryclean: veryclean/$(LOCAL)
MKDIRS += $(dir $($(LOCAL)-LIST))
-$($(LOCAL)-LIST) : $(TO)/% : % dirs
+$($(LOCAL)-LIST) : $(TO)/% : %
echo Installing $< to $(@D)
cp $< $(@D)
diff --git a/buildlib/library.mak b/buildlib/library.mak
index 029e87463..ef1306b66 100644
--- a/buildlib/library.mak
+++ b/buildlib/library.mak
@@ -51,7 +51,7 @@ $(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
ln -sf $(<F) $@
# The binary build rule
-$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
+$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS) $(LIBRARYDEPENDS)
-rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null
echo Building shared library $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\
@@ -61,7 +61,7 @@ $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
# Compilation rules
vpath %.cc $(SUBDIRS)
-$(OBJ)/%.opic: %.cc
+$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS)
echo Compiling $< to $@
$(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $<
$(DoDep)
diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak
index 09eca0ec2..1e778cf11 100644
--- a/buildlib/po4a_manpage.mak
+++ b/buildlib/po4a_manpage.mak
@@ -25,6 +25,7 @@ $(LOCAL)-LIST := $(SOURCE)
# Install generation hooks
manpages: $($(LOCAL)-LIST)
+clean: clean/$(LOCAL)
veryclean: veryclean/$(LOCAL)
apt-verbatim.ent: ../apt-verbatim.ent
@@ -37,15 +38,16 @@ manpage-style.xsl: ../manpage-style.xsl
$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES)
echo Creating man page $@
$(XSLTPROC) -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here???
- test -f $(subst .$(LC),,$@) || echo FIXME: xsltproc respect the -o flag now, workaround can be removed
+ test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed'
mv -f $(subst .$(LC),,$@) $@
# Clean rule
-.PHONY: veryclean/$(LOCAL)
+.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
+clean/$(LOCAL):
+ rm -f $($(@F)-LIST) apt.ent apt-verbatim.ent
veryclean/$(LOCAL):
- -rm -rf $($(@F)-LIST) apt.ent apt-verbatim.ent apt.$(LC).8 \
- $(addsuffix .xml,$($(@F)-LIST)) \
- offline.$(LC).sgml guide.$(LC).sgml
+ # we are nuking the directory we are working in as it is auto-generated
+ rm -rf $(shell readlink -f .)
HAVE_PO4A=yes
endif
diff --git a/buildlib/podomain.mak b/buildlib/podomain.mak
index cca7d55be..265359abc 100644
--- a/buildlib/podomain.mak
+++ b/buildlib/podomain.mak
@@ -4,6 +4,8 @@
# declared domain of the make file. It also arranges to set the DOMAIN
# CPPFLAG for the compilation.
+ifneq ($(APT_DOMAIN),none)
+
MY_DOMAIN := $(PACKAGE)
ifdef APT_DOMAIN
$($(LOCAL)-OBJS): CPPFLAGS := $(CPPFLAGS) -DAPT_DOMAIN='"$(APT_DOMAIN)"'
@@ -13,10 +15,13 @@ endif
MKDIRS += $(PO_DOMAINS)/$(MY_DOMAIN)
$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: SRC := $(addprefix $(SUBDIR)/,$(SOURCE))
$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: makefile dirs
- (echo $(SRC) | xargs -n1 echo) > $@
+ (echo $(SRC) | xargs -n1 echo) > $@.tmp
+ cmp --silent $@.tmp $@ || mv $@.tmp $@
startup binary program clean update-po: $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list
veryclean: veryclean/$(LOCAL)
veryclean/po/$(LOCAL): LIST := $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list
veryclean/po/$(LOCAL):
rm -f $(LIST)
+
+endif