]> git.llucax.com Git - software/makeit.git/blobdiff - subproj/Build.mak
Use symbolic names in Makefiles default goals
[software/makeit.git] / subproj / Build.mak
index 9552ae094d342960bba71de83f09ca2d78dd151c..2d3f1209ca7f6169036cebaca54414b940b49b87 100644 (file)
@@ -1,19 +1,33 @@
 
 
-# Create the include directory symlink
-setup_include_dir__ := $(call symlink_include_dir,otherproj)
-
-# Build the shared library
-$L/libotherproj.so: LINKER := $(CC)
-$L/libotherproj.so: $(call find_objects,c)
+# Symbolic target to add to all
+.PHONY: otherproj
 all += otherproj
 
 all += otherproj
 
-# Nice shortcut target
-.PHONY: otherproj
-otherproj: $L/libotherproj.so
+# pkg-config specification file
+otherproj-PC-PREFIX := $(prefix)
+otherproj-PC-NAME := otherproj
+otherproj-PC-DESC := Some other project
+otherproj-PC-URL := http://www.otherproj.example.com/
+otherproj-PC-VERSION := 1.0
+otherproj-PC-LIBS := -lotherproject
+otherproj-PC-CFLAGS := -DOTHERPROJ_DEFINE
+otherproj-PC-VARS := PREFIX NAME DESC URL VERSION LIBS CFLAGS
+$L/otherproj.pc: PC_VARS := $(otherproj-PC-VARS)
+$L/otherproj.pc: $C/otherproj.pc.in $L/otherproj.pc-flags
+# trigger a rebuild when flags change
+setup_flags_files__ := $(call gen_rebuild_flags,$L/otherproj.pc-flags,\
+               $(call varcat,$(otherproj-PC-VARS),otherproj-PC-))
+# install
+$I/lib/pkgconfig/otherproj.pc: $L/otherproj.pc
+install += $I/lib/pkgconfig/otherproj.pc
+otherproj: $L/otherproj.pc
 
 
-# Install the shared library
+# Shared library
+$L/libotherproj.so: LINKER := $(CC)
+$L/libotherproj.so: $(call find_objects,c)
 $I/lib/libotherproj.so: $L/libotherproj.so
 install += $I/lib/libotherproj.so
 $I/lib/libotherproj.so: $L/libotherproj.so
 install += $I/lib/libotherproj.so
+otherproj: $L/libotherproj.so
 
 # Install the library's headers
 $I/include/otherproj/%.h: $C/%.h
 
 # Install the library's headers
 $I/include/otherproj/%.h: $C/%.h
@@ -21,3 +35,6 @@ $I/include/otherproj/%.h: $C/%.h
 # XXX: we can't use += here, call will be resolved lazily if we do
 install := $(install) $(call find_headers,h,$I/include/otherproj)
 
 # XXX: we can't use += here, call will be resolved lazily if we do
 install := $(install) $(call find_headers,h,$I/include/otherproj)
 
+# Create the include directory symbolic link and pkg-config flags file
+setup_include_dir__ := $(call symlink_include_dir,otherproj)
+