Makefile 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. # $Id: Makefile 534 2008-04-08 11:36:22Z gloomy $
  2. include Rules.make
  3. VERTITLE := $(TITLE)-$(VERSION)
  4. SUBDIRS :=
  5. DATE := $(shell date +'%Y%m%d')
  6. ARCHIVE := "$(TITLE)-$(DATE).tar.bz2"
  7. RELEASE := "$(VERTITLE).tar.bz2"
  8. RPMBUILD := $(shell \
  9. rpmbuild --help 2>/dev/null >/dev/null; \
  10. if [ $$? == "0" ]; then \
  11. echo rpmbuild; \
  12. else \
  13. echo rpm; \
  14. fi \
  15. )
  16. HISTORY := "History"
  17. all: prep
  18. @for dir in $(SUBDIRS); do \
  19. $(MAKE) -C $$dir $(@) || exit 1; \
  20. done;
  21. prep:
  22. # sed -e "s|_unique_source_version_|$(VERSION)|" \
  23. # -e "s|_unique_libdir_|$(LIB_DIR)|" \
  24. # -e "s|_unique_makefiles_dir_|$(TARGET_MAKEFILES_DIR)|" \
  25. # $(SCRIPTS_DIR)/$(TITLE)-config.in > $(SCRIPTS_DIR)/$(TITLE)-config
  26. clean:
  27. $(RM) *.spec *.tar.bz2
  28. rm -f $(SCRIPTS_DIR)/$(TITLE)-config
  29. @for dir in $(SUBDIRS); do \
  30. $(MAKE) -C $$dir $(@) || exit 1; \
  31. done;
  32. install: all
  33. @for dir in $(SUBDIRS); do \
  34. $(MAKE) -C $$dir install || exit 1; \
  35. done;
  36. # Install Makefiles
  37. install -d $(INSTALL_MAKEFILES_DIR)
  38. install -m 0644 $(MAKEFILES_DIR)/Makefile.repo $(INSTALL_MAKEFILES_DIR)
  39. install -m 0644 $(MAKEFILES_DIR)/Makefile.project $(INSTALL_MAKEFILES_DIR)
  40. # Install scripts and other stuff
  41. install -d $(INSTALL_BIN_DIR)
  42. install -m 0755 $(SCRIPTS_DIR)/rf $(INSTALL_BIN_DIR)
  43. install -d $(INSTALL_SBIN_DIR)
  44. install -m 0755 $(SCRIPTS_DIR)/rfa $(INSTALL_SBIN_DIR)
  45. # Install configs
  46. install -d $(INSTALL_CONF_DIR)
  47. install -m 0644 $(CONF_DIR)/rfa.conf $(INSTALL_CONF_DIR)
  48. install -d $(INSTALL_PC_DIR)
  49. install -m 0644 $(CONF_DIR)/repoforge.pc $(INSTALL_PC_DIR)
  50. spec:
  51. sed -e "s|_unique_source_name_|$(ARCHIVE)|" \
  52. -e "s|_unique_source_version_|$(VERSION)|" \
  53. -e "s|_unique_source_major_|$(MAJOR)|" \
  54. -e "s|_unique_source_minor_|$(MINOR)|" \
  55. -e "s|_unique_source_bugfix_|$(BUGFIX)|" \
  56. $(TITLE).spec.in > $(TITLE).spec
  57. archive: clean spec
  58. ln -sf ./ $(VERTITLE)
  59. tar -cj --exclude $(VERTITLE)/$(VERTITLE) --exclude .svn --exclude CVS --exclude $(ARCHIVE) -f $(ARCHIVE) $(VERTITLE)/*
  60. $(RM) $(VERTITLE)
  61. release: archive
  62. mv -f $(ARCHIVE) $(RELEASE)
  63. srpm: archive
  64. $(RPMBUILD) -ts $(ARCHIVE)
  65. rpm: archive
  66. $(RPMBUILD) -tb $(ARCHIVE)
  67. history:
  68. @> $(HISTORY)
  69. @echo "Project: "$(TITLE) >> $(HISTORY)
  70. @echo "Version: "$(VERSION) >> $(HISTORY)
  71. @echo "Date: "`date` >> $(HISTORY)
  72. -@svn update; \
  73. if [ $$? == 0 ]; then \
  74. svn info | grep "Revision:" >> $(HISTORY); \
  75. echo "History:" >> $(HISTORY); \
  76. svn -v log >> $(HISTORY); \
  77. fi;
  78. .PHONY: all clean libs utils tests install po archive spec rpm srpm history