default : all .PHONY: default all clean install test include $(TOPDIR)/Make.version %.a : $(AR) -cvqs $@ $^ % : %.c % : %.c $(CCLD) $(ccldflags) $(CPPFLAGS) -o $@ $^ $(LDLIBS) %-static : ccldflags+=-static %-static : %.c $(CCLD) $(ccldflags) $(CPPFLAGS) -o $@ $^ $(LDLIBS) %.so : $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \ -Wl,-soname,$@.1 \ -Wl,--version-script=$(MAP) \ -o $@ $^ $(LDLIBS) ln -vfs $@ $@.1 %.abixml : %.so $(ABIDW) --headers-dir $(TOPDIR)/src/include/efivar/ --out-file $@ $^ @sed -i -s 's,$(TOPDIR)/,,g' $@ %.abicheck : %.so $(ABIDIFF) \ --suppr abignore \ --headers-dir2 $(TOPDIR)/src/include/efivar/ \ $(patsubst %.so,%.abixml,$<) \ $< %.o : %.c $(CC) $(cflags) -fPIC $(CPPFLAGS) -c -o $@ $(filter %.c %.o %.S,$^) %.static.o : %.c $(CC) $(cflags) -fPIE $(CPPFLAGS) -c -o $@ $(filter %.c %.o %.S,$^) %.o : %.S $(CC) $(cflags) -fPIC $(CPPFLAGS) -c -o $@ $(filter %.c %.o %.S,$^) %.static.o : %.S $(CC) $(cflags) -fPIE $(CPPFLAGS) -c -o $@ $(filter %.c %.o %.S,$^) %.S: %.c $(CC) $(cflags) $(CPPFLAGS) -S $< -o $@ %.E: %.c $(CC) $(cflags) $(CPPFLAGS) -E $< -o $@ %.c : %.h define substitute-version sed \ -e "s,@@VERSION@@,$(VERSION),g" \ -e "s,@@LIBDIR@@,$(LIBDIR),g" \ -e "s,@@PREFIX@@,$(PREFIX),g" \ -e "s,@@EXEC_PREFIX@@,$(EXEC_PREFIX),g" \ -e "s,@@INCLUDEDIR@@,$(INCLUDEDIR),g" \ $(1) > $(2) endef %.pc : %.pc.in @$(call substitute-version,$<,$@) %.spec : %.spec.in @$(call substitute-version,$<,$@) %.map : %.map.in @$(call substitute-version,$<,$@) pkg-config-cflags = \ $(shell if [ -n "$(PKGS)" ]; then $(PKG_CONFIG) --cflags $(PKGS); fi) pkg-config-ldflags = \ $(shell if [ -n "$(PKGS)" ]; then $(PKG_CONFIG) --libs-only-L --libs-only-other $(PKGS) ; fi) pkg-config-ldlibs = \ $(shell if [ -n "$(PKGS)" ]; then $(PKG_CONFIG) --libs-only-l $(PKGS) ; fi) define deps-of $(foreach src,$(filter %.c,$(1)),$(patsubst %.c,.%.d,$(src))) \ $(foreach src,$(filter %.S,$(1)),$(patsubst %.S,.%.d,$(src))) endef define get-config $(shell git config --local --get "efivar.$(1)") endef # vim:ft=make