PACKAGE = mdkonline
VERSION:=$(shell rpm -q --qf %{VERSION} --specfile $(PACKAGE).spec)
RELEASE:=$(shell rpm -q --qf %{RELEASE} --specfile $(PACKAGE).spec)
TAG := $(shell echo "V$(VERSION)_$(RELEASE)" | tr -- '-.' '__')
NAME = mdkonline
MDKUPDATE = mdkupdate
SUBDIRS = po
RPM = $(HOME)/rpm
localedir = $(prefix)/usr/share/locale

override CFLAGS += -DPACKAGE=\"$(NAME)\" -DLOCALEDIR=\"$(localedir)\"

all: mdkonline
	for d in $(SUBDIRS); do ( cd $$d ; make $@ ) ; done

clean:
#	$(MAKE) -C po $@
	rm -f core .#*[0-9]
	for d in $(SUBDIRS); do ( cd $$d ; make $@ ) ; done
	find . -name '*~' | xargs rm -f

install: all
#	$(MAKE) -C po $@
	install -d $(RPM_BUILD_ROOT)/usr/{sbin/,bin,share/icons/{mini,large},share/nautilus/default-desktop}
	install -s -m755 $(NAME) $(RPM_BUILD_ROOT)/usr/sbin/
	install -s -m755 $(MDKUPDATE) $(RPM_BUILD_ROOT)/usr/bin/
	install -m644 *.desktop $(RPM_BUILD_ROOT)/usr/share/nautilus/default-desktop/
	install -m644 pixmaps/$(NAME)16.png $(RPM_BUILD_ROOT)/usr/share/icons/mini/
	install -m644 pixmaps/$(NAME)32.png $(RPM_BUILD_ROOT)/usr/share/icons/
	install -m644 pixmaps/$(NAME)48.png $(RPM_BUILD_ROOT)/usr/share/icons/large/	
#	for d in $(SUBDIRS); do ( cd $$d ; make $@ ) ; done

# rules to build a test rpm

localrpm: clean localdist buildrpm

localdist: cleandist dir localcopy tar

cleandist:
	rm -rf $(PACKAGE)-$(VERSION) ../$(PACKAGE)-$(VERSION).tar.bz2

dir:
	mkdir $(PACKAGE)-$(VERSION)

localcopy: clean
	find . -not -name "$(PACKAGE)-$(VERSION)" -a -not -name '*.bz2'|cpio -pd $(PACKAGE)-$(VERSION)/
	find $(PACKAGE)-$(VERSION) -type d -name CVS|xargs rm -rf 

tar:
	tar cvf ../$(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION)
	bzip2 -9vf ../$(PACKAGE)-$(VERSION).tar
	rm -rf $(PACKAGE)-$(VERSION)

buildrpm:
	(echo "# !! DON'T MODIFY HERE, MODIFY IN THE CVS !!" ; \
		cat $(PACKAGE).spec \
	) > $(RPM)/SPECS/$(PACKAGE).spec
	rpm -ta ../$(PACKAGE)-$(VERSION).tar.bz2

# rules to build a distributable rpm

rpm: changelog cvstag dist buildrpm

dist: cleandist dir export tar

export:
	cvs export -d $(PACKAGE)-$(VERSION) -r $(TAG) $(PACKAGE)

cvstag:
	cvs tag $(CVSTAGOPT) $(TAG)

changelog: ../common/username
	cvs2cl -U ../common/username -I ChangeLog 
	rm -f ChangeLog.bak
	cvs commit -m "Generated by cvs2cl the `date '+%d_%b'`" ChangeLog