@@ -16,11 +16,13 @@ CXX_OBJEXT = $(patsubst %.cpp, $($(ARTIFACT_VARS)_BIN)/%.o, $(CXX_S
16
16
17
17
ALL_HEADERS = $(call rwildcard, $($(ARTIFACT_VARS ) _INC) , * .h)
18
18
CXX_FILE = $(patsubst $($(ARTIFACT_VARS ) _BIN) /% .o,% .cpp, $(@ ) )
19
- CXX_HEADERS = $(foreach hdr,$(ARTIFACT_HEADERS ) ,$(call rwildcard, $($(ARTIFACT_VARS ) _INC) /$(hdr ) , * .h)
19
+ CXX_HEADERS = $(foreach hdr,$(ARTIFACT_HEADERS ) ,$(call rwildcard, $($(ARTIFACT_VARS ) _INC) /$(hdr ) , * .h) )
20
20
CXX_INSTHEADERS = $(patsubst $($(ARTIFACT_VARS ) _INC) /% ,$(DESTDIR )$(PREFIX ) /include/% ,$(CXX_HEADERS ) )
21
21
22
22
ARTIFACT_BIN = $($(ARTIFACT_VARS ) _BIN)
23
23
ARTIFACT_LIB = $(ARTIFACT_BIN ) /$($(ARTIFACT_VARS ) _NAME) -$($(ARTIFACT_VARS ) _VERSION)$(LIBRARY_EXT )
24
+ ARTIFACT_SYMLINK = $($(ARTIFACT_VARS ) _NAME)$(LIBRARY_EXT )
25
+ ARTIFACT_PC = $(ARTIFACT_BIN ) /$($(ARTIFACT_VARS ) _NAME)$(PKGCONFIG_EXT )
24
26
ARTIFACT_TESTBIN = $(ARTIFACT_BIN ) /$($(ARTIFACT_VARS ) _NAME) -test$(EXECUTABLE_EXT )
25
27
ARTIFACT_OBJ = $($(ARTIFACT_VARS ) _OBJ)
26
28
ARTIFACT_MFLAGS = $($(ARTIFACT_VARS ) _MFLAGS) $(foreach dep,$(DEPENDENCIES ) ,-DUSE_$(dep ) )
@@ -29,7 +31,7 @@ CFLAGS_DEPS = $(foreach dep, $(DEPENDENCIES) $(ARTIFACT_VARS), $(if
29
31
BUILD_DEPS = $(foreach dep, $(DEPENDENCIES ) , $(if $($(dep ) _OBJ) , $(dep ) ) )
30
32
LINKER_DEPS = $(foreach dep, $(DEPENDENCIES ) , $(if $($(dep ) _LDFLAGS) , $($(dep ) _LDFLAGS) ) )
31
33
LINKER_OBJS = $(foreach dep, $(DEPENDENCIES ) , $(if $($(dep ) _OBJ) , $($(dep ) _OBJ) ) )
32
- BUILD_ALL = $(ARTIFACT_LIB )
34
+ BUILD_ALL = $(ARTIFACT_LIB ) $( ARTIFACT_PC )
33
35
34
36
ifeq ($(TEST ) , 1)
35
37
ifeq ($($(ARTIFACT_VARS)_TESTING),1)
@@ -137,20 +139,34 @@ $(CXX_OBJ) $(CXX_OBJEXT):
137
139
@mkdir -p $(dir $@ )
138
140
@$(CXX ) -o $(@ ) -c $(CXX_FILE ) -fPIC $(CXXFLAGS ) $(ARTIFACT_MFLAGS ) $(EXT_FLAGS ) $(INCLUDE ) $(CFLAGS_DEPS )
139
141
142
+ $(ARTIFACT_PC ) :
143
+ @echo " prefix=$( PREFIX) " > " $( ARTIFACT_PC) "
144
+ @echo " exec_prefix=\$ ${prefix} /bin" >> " $( ARTIFACT_PC) "
145
+ @echo " includedir=\$ ${prefix} /include" >> " $( ARTIFACT_PC) "
146
+ @echo " libdir=\$ ${prefix} /lib" >> " $( ARTIFACT_PC) "
147
+ @echo " " >> $(ARTIFACT_PC ) >> " $( ARTIFACT_PC) "
148
+ @echo " Name: $( $( ARTIFACT_VARS) _NAME) " >> " $( ARTIFACT_PC) "
149
+ @echo " Description: $( $( ARTIFACT_VARS) _DESC) " >> " $( ARTIFACT_PC) "
150
+ @echo " Version: $( $( ARTIFACT_VARS) _VERSION) " >> " $( ARTIFACT_PC) "
151
+ @echo " Cflags: -I\$ ${includedir} " >> " $( ARTIFACT_PC) "
152
+ @echo " Libs: -L\$ ${libdir} -l$( $( ARTIFACT_VARS) _NAME) " >> " $( ARTIFACT_PC) "
153
+
140
154
install : all
141
155
@echo " Installing $( $( ARTIFACT_VARS) _NAME) "
142
156
@mkdir -p " $( DESTDIR) $( PREFIX) /include"
143
- @mkdir -p " $( DESTDIR) $( PREFIX) /lib"
157
+ @mkdir -p " $( DESTDIR) $( PREFIX) /lib/pkgconfig "
144
158
@cp -r $($(ARTIFACT_VARS ) _INC) /* " $( DESTDIR) $( PREFIX) /include/"
159
+ @cp $(ARTIFACT_PC ) " $( DESTDIR) $( PREFIX) /lib/pkgconfig/"
145
160
@echo $(INSTALL ) $(ARTIFACT_LIB ) -t " $( DESTDIR) $( PREFIX) /lib"
146
161
@$(INSTALL ) $(ARTIFACT_LIB ) -t " $( DESTDIR) $( PREFIX) /lib"
147
- @ln -sf $(notdir $(ARTIFACT_LIB ) ) " $( DESTDIR) $( PREFIX) /lib/$( $( ARTIFACT_VARS ) _NAME ) $( LIBRARY_EXT ) "
162
+ @ln -sf $(notdir $(ARTIFACT_LIB ) ) " $( DESTDIR) $( PREFIX) /lib/$( ARTIFACT_SYMLINK ) "
148
163
@echo " Install OK"
149
164
150
165
uninstall :
151
166
@echo " Uninstalling $( $( ARTIFACT_VARS) _NAME) "
152
167
@-rm -f " $( DESTDIR) $( PREFIX) /lib/$( notdir $( ARTIFACT_LIB) ) "
153
- @-rm -f " $( DESTDIR) $( PREFIX) /lib/$( $( ARTIFACT_VARS) _NAME) $( LIBRARY_EXT) "
168
+ @-rm -f " $( DESTDIR) $( PREFIX) /lib/$( ARTIFACT_SYMLINK) "
169
+ @-rm -f " $( DESTDIR) $( PREFIX) /lib/pkgconfig/$( notdir $( ARTIFACT_PC) ) "
154
170
@echo rm -f $(CXX_INSTHEADERS )
155
171
@-rm -f $(CXX_INSTHEADERS )
156
172
@echo " Uninstall OK"
0 commit comments