Makefile.br 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. src := .
  2. top_srcdir=../../
  3. top_builddir=../../
  4. srctree := .
  5. obj ?= .
  6. include Makefile
  7. #HOSTCFLAGS+=-Dinline="" -include foo.h
  8. -include $(obj)/.depend
  9. $(obj)/.depend: $(wildcard *.h *.c)
  10. $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) -MM *.c > $@ 2>/dev/null || :
  11. __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
  12. host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
  13. host-cmulti := $(foreach m,$(__hostprogs),\
  14. $(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
  15. host-cxxmulti := $(foreach m,$(__hostprogs),\
  16. $(if $($(m)-cxxobjs),$(m),$(if $($(m)-objs),)))
  17. host-cobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-objs))))
  18. host-cxxobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs))))
  19. HOST_EXTRACFLAGS += -I$(obj) -DCONFIG_=\"\"
  20. $(host-csingle): %: %.c
  21. $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< -o $(obj)/$@
  22. $(host-cmulti): %: $(host-cobjs) $(host-cshlib)
  23. $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $(addprefix $(obj)/,$($(@F)-objs)) $(HOSTLOADLIBES_$(@F)) -o $(obj)/$@
  24. $(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib)
  25. $(HOSTCXX) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) $(addprefix $(obj)/,$($(@F)-objs) $($(@F)-cxxobjs)) $(HOSTLOADLIBES_$(@F)) -o $(obj)/$@
  26. $(obj)/%.o: %.c
  27. $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) -c $< -o $@
  28. $(obj)/%.o: $(obj)/%.c
  29. $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) -c $< -o $@
  30. $(obj)/%.o: %.cc
  31. $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$(@F)) -c $< -o $@
  32. $(obj)/%:: $(src)/%_shipped
  33. $(Q)cat $< > $@
  34. clean:
  35. $(Q)rm -f $(addprefix $(obj)/,$(clean-files))
  36. distclean: clean
  37. $(Q)rm -f $(addprefix $(obj)/,$(lxdialog) $(conf-objs) $(mconf-objs) $(kxgettext-objs) \
  38. $(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \
  39. mconf .depend)
  40. FORCE:
  41. .PHONY: FORCE clean distclean