]> git.saurik.com Git - apt.git/blobdiff - buildlib/program.mak
compile with absolute paths to allow lcov use
[apt.git] / buildlib / program.mak
index fe0d30de3f855813851fe70d54a5613326d8b434..71c265f39f08b2edfac35f8a2db10568eb6a980f 100644 (file)
@@ -6,7 +6,7 @@
 # $(SOURCE) - The source code to use
 # $(PROGRAM) - The name of the program
 # $(SLIBS) - Shared libs to link against
 # $(SOURCE) - The source code to use
 # $(PROGRAM) - The name of the program
 # $(SLIBS) - Shared libs to link against
-# $(LIB_MAKES) - Shared libary make files to depend on - to ensure we get
+# $(LIB_MAKES) - Shared library make files to depend on - to ensure we get
 # remade when the shared library version increases.
 
 # See defaults.mak for information about LOCAL
 # remade when the shared library version increases.
 
 # See defaults.mak for information about LOCAL
@@ -24,13 +24,23 @@ program: $(BIN)/$(PROGRAM)
 clean: clean/$(LOCAL)
 veryclean: veryclean/$(LOCAL)
 
 clean: clean/$(LOCAL)
 veryclean: veryclean/$(LOCAL)
 
+TYPE = src
+include $(PODOMAIN_H)
+
+# Make Directories
+MKDIRS += $(OBJ) $(DEP) $(BIN)
+
 # The clean rules
 # The clean rules
-.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
+.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) 
 clean/$(LOCAL):
        -rm -f $($(@F)-OBJS) $($(@F)-DEP)
 veryclean/$(LOCAL): clean/$(LOCAL)
        -rm -f $($(@F)-BIN)
 
 clean/$(LOCAL):
        -rm -f $($(@F)-OBJS) $($(@F)-DEP)
 veryclean/$(LOCAL): clean/$(LOCAL)
        -rm -f $($(@F)-BIN)
 
+# The convience binary build rule
+.PHONY: $(PROGRAM)
+$(PROGRAM): $($(LOCAL)-BIN)
+
 # The binary build rule
 $($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS)
        echo Building program $@
 # The binary build rule
 $($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS)
        echo Building program $@
@@ -40,7 +50,7 @@ $($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS)
 vpath %.cc $(SUBDIRS)
 $(OBJ)/%.o: %.cc
        echo Compiling $< to $@
 vpath %.cc $(SUBDIRS)
 $(OBJ)/%.o: %.cc
        echo Compiling $< to $@
-       $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
+       $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) -o $@ $(abspath $<)
        $(DoDep)
 
 # Include the dependencies that are available
        $(DoDep)
 
 # Include the dependencies that are available