Mercurial > hg > Members > kono > nitros9-code
view makefile @ 3134:afd35e662b2b
Use lwtools noforwardrefmax pragma by default
The in-progress development version of lwasm changes the default value
of forwardrefmax with the effect that some pc-relative forward branches
end up as 16-bit when they could be 8-bit. This change in behaviour can
cause mismatched binaries between builders using version 4.13 and
builders using later versions. This can have a particularly bad effect
on builds of level2 kernels, because the current code has hand-inserted
padding to align the end-point of the code. The fix for all of this is
to change the command-line options to force the old default behaviour.
http://lwtools.projects.l-w.ca/hg/index.cgi/rev/b4825b42c151
author | Neal Crook <foofoobedoo@gmail.com> |
---|---|
date | Fri, 13 Jan 2017 20:49:14 +0000 |
parents | e1aadba01e81 |
children | ab1e1bca132b |
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 ifneq (,$(findstring mc09l2,$(PORTS))) dirs += $(LEVEL2) else dirs += $(LEVEL1) endif 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 # 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 &&) : 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 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