diff --git a/Makefile b/Makefile index e1c7886f8..6d7c0c157 100644 --- a/Makefile +++ b/Makefile @@ -580,6 +580,14 @@ $(RSRC_BEOS): $(RDEF_BEOS) $(RDEP_BEOS) $(Q)$(BEOS_RC) -o $@ $< endif +ifeq ($(HOST),amiga) + $(VQ)echo " CLEAN: amiga/version.c" + $(Q)$(RM) amiga/version.c +amiga/version.c: amiga/version.rexx + $(VQ)echo " AREXX: amiga/version.rexx" + $(Q)rx amiga/version.rexx >amiga/version.c +endif + ifeq ($(TARGET),riscos) # Native RO build is different as 1) it can't do piping and 2) ccres on # RO does not understand Unix filespec diff --git a/Makefile.sources b/Makefile.sources index c8758744c..cb263db67 100644 --- a/Makefile.sources +++ b/Makefile.sources @@ -88,7 +88,7 @@ S_DEBUG := $(addprefix debug/,$(S_DEBUG)) # S_AMIGA are sources purely for the Amiga build S_AMIGA := compat.c gui.c tree.c history.c hotlist.c schedule.c \ thumbnail.c misc.c bitmap.c font.c filetype.c utf8.c login.c \ - plotters.c object.c menu.c save_pdf.c arexx.c + plotters.c object.c menu.c save_pdf.c arexx.c version.c S_AMIGA := $(addprefix amiga/,$(S_AMIGA)) # S_FRAMEBUFFER are sources purely for the framebuffer build diff --git a/amiga/version.rexx b/amiga/version.rexx new file mode 100644 index 000000000..b649d7b53 --- /dev/null +++ b/amiga/version.rexx @@ -0,0 +1,45 @@ +/* + * Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* This file generates an AmigaOS compliant version string in version.h */ + +address command 'svn info >t:ns_svn' + +if open('tmp','t:ns_svn','R') then do + do until word(var,1) = "REVISION:" + var = upper(readln('tmp')) + end + dummy = close('tmp') + address command 'delete t:ns_svn' +end + +svnrev = word(var,2) + +if open('tmp','desktop/version.c','R') then do + do until word(var,3) = "NETSURF_VERSION_MAJOR" + var = upper(readln('tmp')) + end + dummy = close('tmp') +end + +majorver = compress(word(var,5),";") +date = translate(date('E'),'.','/') + +say '/* This file was automatically generated from version.rexx */' +say 'static __attribute__((used)) char verstag[] = "\0$VER: NetSurf' majorver || '.' || svnrev '(' || date || ')\0";' +