diff --git a/Makefile.in b/Makefile.in index 4172ae621..1885af7b3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,5 @@ -export NMAP_VERSION = 4.21ALPHA5 +# Extract the version string from nmap.h. +export NMAP_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_VERSION' nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q') NMAP_NAME= Nmap NMAP_URL= http://insecure.org NMAP_PLATFORM=@host@ @@ -22,7 +23,7 @@ DBGFLAGS = LIBPCAPDIR = @libpcapdir@ LIBPCREDIR = @LIBPCREDIR@ export LIBDNETDIR = @LIBDNETDIR@ -DEFS = @DEFS@ -DNMAP_VERSION=\"$(NMAP_VERSION)\" -DNMAP_NAME=\"$(NMAP_NAME)\" -DNMAP_URL=\"$(NMAP_URL)\" -DNMAP_PLATFORM=\"$(NMAP_PLATFORM)\" -DNMAPDATADIR=\"$(nmapdatadir)\" +DEFS = @DEFS@ -DNMAP_NAME=\"$(NMAP_NAME)\" -DNMAP_URL=\"$(NMAP_URL)\" -DNMAP_PLATFORM=\"$(NMAP_PLATFORM)\" -DNMAPDATADIR=\"$(nmapdatadir)\" # For mtrace debugging -- see MTRACE define in main.cc for instructions # Should only be enabled during debugging and not in any real release. # DEFS += -DMTRACE=1 diff --git a/mswin32/Makefile b/mswin32/Makefile index 834a15992..fedfcbacd 100644 --- a/mswin32/Makefile +++ b/mswin32/Makefile @@ -1,6 +1,6 @@ MAKENSIS=/c/apps/NSIS/makensis.exe VCEXPRESS="/c/Program Files/Microsoft Visual Studio 8/Common7/IDE/VCExpress.exe" -NMAP_VERSION:=$(shell grep "export NMAP_VERSION " ../Makefile.in | cut "-d " -f4) +export NMAP_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_VERSION' ../nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q') LOGLOC=c:nmapbuild.log winbuild: diff --git a/nmap.h b/nmap.h index cb5dc3d3f..9b6060456 100644 --- a/nmap.h +++ b/nmap.h @@ -250,6 +250,12 @@ void *realloc(); /******* DEFINES ************/ +#ifndef NMAP_VERSION +/* Edit this definition only within the quotes, because it is read from this + file by the makefiles. */ +#define NMAP_VERSION "4.21ALPHA5" +#endif + /* User configurable #defines: */ #ifndef VERSION #define VERSION "1.60-Beta" diff --git a/nmap_winconfig.h b/nmap_winconfig.h index 85ef47cd7..e882bc15b 100644 --- a/nmap_winconfig.h +++ b/nmap_winconfig.h @@ -106,7 +106,6 @@ /* Without this, Windows will give us all sorts of crap about using functions like strcpy() even if they are done safely */ #define _CRT_SECURE_NO_DEPRECATE 1 -#define NMAP_VERSION "4.21ALPHA5" #define NMAP_NAME "Nmap" #define NMAP_URL "http://insecure.org" #define NMAP_PLATFORM "i686-pc-windows-windows" diff --git a/nmapfe/nmapfe.c b/nmapfe/nmapfe.c index 708ec9ca5..9cfad8c5d 100644 --- a/nmapfe/nmapfe.c +++ b/nmapfe/nmapfe.c @@ -428,6 +428,7 @@ GtkAdjustment *adjust; #ifdef WIN32 opt.isr00t = 1; /* for nmap version */ +#include "nmap.h" #include "nmap_winconfig.h" #define VERSION NMAP_VERSION #else diff --git a/nmapfe/nmapfe.h b/nmapfe/nmapfe.h index 8cd46862f..f9136ffd1 100644 --- a/nmapfe/nmapfe.h +++ b/nmapfe/nmapfe.h @@ -109,8 +109,8 @@ * Long live Aol and pr: Phreak. */ -#ifndef NMAP_H -#define NMAP_H +#ifndef NMAPFE_H +#define NMAPFE_H #if MISSING_GTK #error "Your system does not appear to have GTK (www.gtk.org) installed. Thus the Nmap X Front End will not compile. You should still be able to use Nmap the normal way (via text console). GUIs are for wimps anyway :)" @@ -307,4 +307,4 @@ GtkWidget* create_main_win (void); GtkWidget* create_fileSelection(const char *title, char *filename, void (*action)(), GtkEntry *entry); GtkWidget* create_helpDialog(void); -#endif /* NMAP_H */ +#endif /* NMAPFE_H */