X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=am%2Ffooter.mk;h=d3670178c9c56963f87ee3021730f6f881a2418c;hb=61e3ccf7d4bc013750421566cbe08c775b0c3001;hp=5b935b7f67624802a906572a02dd4429512e3c52;hpb=fcbd5f6835f65055d0ac14d3a2da3afb39634fd3;p=apps%2Fmadtty.git diff --git a/am/footer.mk b/am/footer.mk index 5b935b7..d367017 100644 --- a/am/footer.mk +++ b/am/footer.mk @@ -31,21 +31,48 @@ endef deps_create = $(foreach f,$(AUTO_DEPENDS),$(call $f,$1,$2)) +install-LIBRARIES/%:: + mkdir -p $($*dir) + cp $($*_LIBRARIES:=.so) $($*dir) + +uninstall-LIBRARIES/%:: + rm -f $(patsubst %,$($*dir)/%.so,$($*_LIBRARIES)) + rmdir -p $($*dir) || true 2> /dev/null + define CLASS_LIBRARIES_tpl all:: $1.so +install-LIBRARIES/$2:: $1.so + +install:: install-LIBRARIES/$2 +uninstall:: uninstall-LIBRARIES/$2 $1.so: $(_cobjs)/$1/.exists $$(call deps_create,$$($1_SOURCES),$(_cobjs)/$1) $(CC) $$(CFLAGS) $$($1_CPPFLAGS) -fPIC -shared -o $$@ \ $$(filter %.o,$$^) $$(LDFLAGS) $$($1_LDFLAGS) $$($1_LIBADD) -$$(eval $$(call RULE_C_tpl,$1,-fPIC $2)) +$$(eval $$(call RULE_C_tpl,$1,-fPIC)) clean:: $(RM) $1.so endef -$(foreach l, \ - $(foreach l,$(filter %_LIBRARIES,$(.VARIABLES)),$($l)), \ - $(eval $(call CLASS_LIBRARIES_tpl,$l,))) +$(foreach v,$(filter %_LIBRARIES,$(.VARIABLES)), \ + $(foreach x,$($v),$(eval $(call CLASS_LIBRARIES_tpl,$x,$(v:_LIBRARIES=))))) + + +install-DATA/%:: + mkdir -p $($*dir) + cp $($*_DATA) $($*dir) + +uninstall-DATA/%:: + rm -f $(patsubst %,$($*dir)/%,$($*_DATA)) + rmdir -p $($*dir) || true 2> /dev/null + +define CLASS_DATA_tpl +install:: install-DATA/$2 +uninstall:: uninstall-DATA/$2 +endef +$(foreach v,$(filter %_DATA,$(.VARIABLES)), \ + $(foreach x,$($v),$(eval $(call CLASS_DATA_tpl,$x,$(v:_DATA=))))) #define CLASS_EXE_tpl #all:: $1 @@ -89,11 +116,16 @@ all check clobber distclean:: CLEAN_RECURSE=1 clean:: - $(RM) -r $(_cobjs) + $(RM) -r $(_cobjs) $(CLEANFILES) @$(if $(CLEAN_RECURSE),$(patsubst %,$(MAKE) -rC % $@;,$(SUBDIRS))) clobber distclean:: CLEAN_RECURSE= clobber distclean:: clean - $(RM) -r .objs* + $(RM) -r .objs* $(DISTCLEANFILES) + +ifeq (".","$(DEPTH)") +clobber distclean:: + $(RM) $(patsubst %.in,%,$(wildcard $(CONFDIR)/*.in)) +endif -.PHONY: all check clean clobber distclean FORCE +.PHONY: all check clean clobber distclean install FORCE