Mercurial > hg > Members > kono > nitros9-code
view makefile @ 3041:7a78f43d97c1
makefile: Prepare for improved nightly upload burst script
If uploader and server are in different time zones, the dates might
not match, so let the uploader specify the date to be used.
Let the uploader specify the name as well, allowing burst to become
a more generic tool.
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Fri, 23 Jan 2015 23:35:28 +0100 |
parents | 14b4f2791bb3 |
children | 32191c9fe2cd |
line wrap: on
line source
ifndef NITROS9DIR NITROS9DIR = $(PWD) endif export NITROS9DIR include rules.mak dirs = $(NOSLIB) $(LEVEL1) $(LEVEL2) $(LEVEL3) $(3RDPARTY) # Allow the user to specify a selection of ports to build # All selected ports must be of the same level ifdef PORTS dirs = $(NOSLIB) ifneq (,$(findstring coco3,$(PORTS))) dirs += $(LEVEL2) else dirs += $(LEVEL1) endif endif # Make all components all: @$(ECHO) "**************************************************" @$(ECHO) "* *" @$(ECHO) "* THE NITROS-9 PROJECT *" @$(ECHO) "* *" @$(ECHO) "**************************************************" $(foreach dir,$(dirs),$(MAKE) -C $(dir) &&) : # Clean all components clean: $(RM) nitros9project.zip $(DSKDIR)/*.dsk $(DSKDIR)/ReadMe $(DSKDIR)/index.shtml $(foreach dir,$(dirs),$(MAKE) -C $(dir) clean &&) : $(RM) $(DSKDIR)/ReadMe $(RM) $(DSKDIR)/index.html # Do CVS update hgupdate: hg pull hg update # Make DSK images dsk: all $(foreach dir,$(dirs),$(MAKE) -C $(dir) dsk &&) : # Copy DSK images dskcopy: all mkdir -p $(DSKDIR) $(foreach dir,$(dirs),$(MAKE) -C $(dir) dskcopy &&) : $(MKDSKINDEX) $(DSKDIR) > $(DSKDIR)/index.html # Clean DSK images dskclean: $(foreach dir,$(dirs),$(MAKE) -C $(dir) dskclean &&) : # DriveWire DSK images dwdsk = $(LEVEL1)/coco/nos96809l1coco1_dw.dsk $(LEVEL1)/coco/nos96809l1coco2_dw.dsk \ $(LEVEL2)/coco3/nos96809l2_dw.dsk $(LEVEL2)/coco3_6309/nos96309l2_dw.dsk dw: dsk $(ARCHIVE) nitros9_drivewire3.zip $(dwdsk) # DriveWire Becker DSK Images beckerdsk = $(LEVEL1)/coco/nos96809l1coco_becker.dsk \ $(LEVEL2)/coco3/nos96809l2_becker.dsk $(LEVEL2)/coco3_6309/nos96309l2_becker.dsk becker: dsk $(ARCHIVE) nitros9_becker.zip $(beckerdsk) info: @$(foreach dir,$(dirs), $(MAKE) --no-print-directory -C $(dir) info &&) : # This section is to do the nightly build and upload # to sourceforge.net you must set the environment # variable SOURCEUSER to the userid you have for sourceforge.net # The "burst" script is found in the scripts folder and must # on your ssh account at sourceforge.net ifdef SOURCEUSER nightly: clean hgupdate dskcopy $(MAKE) info > $(DSKDIR)/ReadMe $(ARCHIVE) nitros9project $(DSKDIR)/* scp nitros9project.zip $(SOURCEUSER),nitros9@web.sourceforge.net:/home/project-web/nitros9/htdocs/nitros9project-$(shell date +%Y%m%d).zip ssh $(SOURCEUSER),nitros9@shell.sourceforge.net create ssh $(SOURCEUSER),nitros9@shell.sourceforge.net "./burst nitros9project $(shell date +%Y%m%d)" else nightly: @echo "" @echo "" @echo "You need to set the SOURCEUSER variable" @echo "You may wish to refer to the nightly" @echo "section of the makefile." endif # This section is to run a nightly test. # This requires you to setup a environment variable # called TESTSSHSERVER. # example would be: TESTSSHSERVER='testuser@localhost' # another example: TESTSSHSERVER='testuser@test.testhost.com' # # You are also required to setup a target path for your file # and the environment variable that is being used in this # section is called TESTSSHDIR ifdef TESTSSHSERVER ifdef TESTSSHDIR nightlytest: clean hgupdate dskcopy $(MAKE) info > $(DSKDIR)/ReadMe $(ARCHIVE) nitros9project $(DSKDIR)/* scp nitros9project.zip $(TESTSSHSERVER):$(TESTSSHDIR)/nitros9project-$(shell date +%Y%m%d).zip ssh $(TESTSSHSERVER) "./burst nitros9project $(shell date +%Y%m%d)" else nightlytest: @echo "" @echo "" @echo "You need to set the TESTSSHDIR variable" @echo "You may wish to refer to the nightlytest" @echo "section of the makefile to see what" @echo "needs to be setup first before using" @echo "this option" endif else nightlytest: @echo "" @echo "" @echo "You need to set the TESTSSHSERVER variable" @echo "You may wish to refer to the nightlytest" @echo "section of the makefile to see what" @echo "needs to be setup first before using" @echo "this option." endif