diff --git a/build/Cyg/CreateMSLib.bat.template b/build/Cyg/CreateMSLib.bat.template new file mode 100644 index 0000000..3f8c06b --- /dev/null +++ b/build/Cyg/CreateMSLib.bat.template @@ -0,0 +1 @@ +"MSVClibexe" /machine:i386 /def:defname diff --git a/build/Cyg/Makefile b/build/Cyg/Makefile new file mode 100644 index 0000000..b2d00e4 --- /dev/null +++ b/build/Cyg/Makefile @@ -0,0 +1,157 @@ +# Cygwin/MinGW Makefile for EPANET + +# This will build EPANET as a native windows DLL and import +# library (epanet_gcc_.dll/libepanet_gcc_.dll.a) under Cygwin/MinGW, +# and a standalone executable (epanet_gcc_.exe). +# is the atomic revision number of the EPANET SVN repo, +# so the results of each build can be unambiguously tracked to a repo Rev. +# This makefile also creates a windows batch file +# (see MScmdname below) that will produce an import +# library for linking the DLL using MSVC. +# This makefile assumes a Cygwin environment with minimal +# MinGW installation, and uses the MinGW gcc compiler from +# the MinGW install directory. +# The current release of MinGW can be obtained from +# http://sourceforge.net/project/showfiles.php?group_id=2435 +# The current release of the Cygwin environment can be +# obtained from http://www.cygwin.com + +# The following targets are defined (for execution in +# the build directory under the Cygwin environment): +# make +# -Builds epanet_gcc_.dll, epanet_gcc_.def, libepanet_gcc_.dll.a, +# epanet_gcc_.exe +# make install +# -Creates shell wrappers runepanet_.sh and CreateMSLib_.bat that +# execute epanet_gcc_.exe, and MSVC 'lib' (to create an MSVC +# import library). The runepanet_.sh wrapper simply exports +# environment variables so that the DLL is found at runtime, +# allowing you to specify your own locations for installing +# the DLL. +# -Installs epanet_gcc_.dll, epanet_gcc_.exe, and runepanet_.sh +# in /bin, where defaults to ~ (and can be set +# below to something different - see "Install directories") +# -Installs libepanet_gcc_.dll.a (import library), epanet_gcc_.def, +# and CreateMSLib-.bat in /lib +# -Installs epanet2.h in /include. This is the required +# header file for the EPANET programmer's toolkit, and thus +# /include should be on your CPP include search path +# for subsequent use of the toolkit and linking with the import +# library libepanet_gcc_.dll.a. +# make clean +# -Removes object and library files, returning the build directory +# to its pristine state. + +SHELL = /bin/sh + +# C H A N G E H E R E A S N E E D E D +# Change (as needed) the MinGW install directory below. +# Change (as needed) the location off the MS LIB tool. +# You may also wish to change the install path 'prefix', +# or the compiler flags, but these defaults should be fine. + +# MinGW top level install directory, accessible from build environment +MinGWdir = /cygdrive/c/MinGW +# Microsoft lib tool directory (for creating an MS import library) +MSVClibexe = c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\bin\\lib + +# Target filenames +# svnname.sh constructs a name: +# where is the atomic revision number of the svn repo. +epanetsvnpath = ../../.. +epanetrootname := $(shell ../svnname.sh $(epanetsvnpath) "" epanet_gcc_ "") +dllname := $(epanetrootname).dll +defname := $(epanetrootname).def +implibname = lib$(dllname).a +exename := $(epanetrootname) +# Shell wrapper +runcmdtemplate = runepanet.sh.template +runcmdname = $(shell ../svnname.sh $(epanetsvnpath) "" runepanet_ .sh) +# MSVC import lib batch file +MScmdtemplate = CreateMSLib.bat.template +MScmdname = $(shell ../svnname.sh $(epanetsvnpath) "" CreateMSLib_ .bat) +# Location of EPANET toolkit includes +epanetincludedir = ../../include +# Search path for sources +epanetsrcdir = ../../src +VPATH = $(epanetsrcdir):$(epanetincludedir) + +# Install directories +winprefix = $(shell cygpath -w $$HOME) +prefix = ~ +exec_prefix = $(prefix) +srcdir = . +libdir = $(exec_prefix)/lib +winlibdir = "$(winprefix)\lib" +bindir = $(exec_prefix)/bin +includedir = $(prefix)/include +winincludedir = "$(winprefix)\include" +datarootdir = $(prefix)/share +docdir = $(datarootdir)/doc/epanet + +# Compiler and flags +# MinGW gcc +CC = $(MinGWdir)/bin/gcc +dlltool = $(MinGWdir)/bin/dlltool +CFLAGS = -g -O +CPPFLAGS = -I $(srcdir) -I $(epanetincludedir) +LDFLAGS = -L . -W1,-rpath,$(libdir) -lm + +# Installer +INSTALL = install +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) -m 644 + +# EPANET object files +epanet_objs=hash.o hydraul.o inpfile.o input1.o input2.o \ + input3.o mempool.o output.o quality.o report.o \ + rules.o smatrix.o +# Epanet header files +epanet_heads=enumstxt.h funcs.h hash.h mempool.h text.h toolkit.h types.h vars.h +epanet_main_heads=epanet2.h +# Epanet main program +epanet_main=epanet + +.PHONY: all +all: $(dllname) $(exename) + +$(dllname): $(epanet_objs) +# $(dlltool) -z $(defname) --dllname $(dllname) --output-lib $(implibname) $^ +# $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $(defname) $^ + $(CC) $(CFLAGS) $(CPPFLAGS) -D DLL -c $(epanetsrcdir)/epanet.c + $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ epanet.o $^ -Wl,--output-def,$(defname) + $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ epanet.o $^ -Wl,--kill-at + $(dlltool) -d $(defname) --dllname $@ --output-lib $(implibname) --kill-at + +$(exename): $(dllname) $(epanet_main_heads) + $(CC) $(CFLAGS) $(CPPFLAGS) -D CLE -c $(epanetsrcdir)/$(epanet_main).c + $(CC) $(CFLAGS) -o $@ $(epanet_main).o -l$(exename) $(LDFLAGS) + +$(epanet_objs): $(epanet_heads) + +.PHONY: install +install: + cat $(runcmdtemplate) | sed 's|libdir|$(bindir)|' \ + | sed 's|exename|$(bindir)/$(exename)|' \ + > $(runcmdname) + cat $(MScmdtemplate) | sed 's|MSVClibexe|$(MSVClibexe)|' \ + | sed 's|defname|$(defname)|' \ + | sed 's|libdir|$(libdir)|' \ + > $(MScmdname) + $(INSTALL_PROGRAM) -D $(exename) $(bindir)/$(exename) + $(INSTALL_PROGRAM) -D $(dllname) $(bindir)/$(dllname) + $(INSTALL_PROGRAM) -D $(defname) $(libdir)/$(defname) + $(INSTALL_PROGRAM) -D $(implibname) $(libdir)/$(implibname) + $(INSTALL_DATA) -D $(epanetincludedir)/epanet2.h $(includedir)/epanet2.h + $(INSTALL_PROGRAM) -D $(runcmdname) $(bindir)/$(runcmdname) + $(INSTALL_PROGRAM) -D $(MScmdname) $(libdir)/$(MScmdname) + +.PHONY: uninstall +uninstall: + +.PHONY: check +check: + +.PHONY: clean +clean: + -/bin/rm *.o $(dllname) $(defname) $(implibname) $(exename).exe $(runcmdname) $(MScmdname) diff --git a/build/Cyg/runepanet.sh.template b/build/Cyg/runepanet.sh.template new file mode 100644 index 0000000..55ae0d3 --- /dev/null +++ b/build/Cyg/runepanet.sh.template @@ -0,0 +1,4 @@ +#!/bin/sh +export PATH=libdir:$PATH +export LD_LIBRARY_PATH=libdir:$LD_LIBRARY_PATH +exec exename "$@" diff --git a/build/Linux/Makefile b/build/Linux/Makefile new file mode 100644 index 0000000..b328823 --- /dev/null +++ b/build/Linux/Makefile @@ -0,0 +1,111 @@ +# Linux Makefile for EPANET + +# This will build EPANET as a shared object library +# (libepanet_gcc_.so) under Linux/Unix, and a standalone +# executable (epanet_gcc_). + +# The following targets are defined: +# make +# -Builds libepanet_gcc_.so, epanet_gcc_ +# make install +# -Creates shell wrapper runepanet_.sh that executes epanet_gcc_.exe. +# The runepanet_.sh wrapper simply exports +# environment variables that help locate the runtime library, +# allowing you to specify your own library locations. +# -Installs epanet_gcc_ and runepanet_.sh +# in /bin, where defaults to ~ (and can be set +# below to something different - see "Install directories") +# -Installs libepanet_gcc_.so in /lib +# -Installs epanet2.h in /include. This is the required +# header file for the EPANET programmer's toolkit, and thus +# /include should be on your CPP include search path +# for subsequent use of the toolkit and linking with the +# library libepanet_gcc_.so +# make clean +# -Removes object and library files, returning the build directory +# to its pristine state. + +# You may wish to change the install path 'prefix', +# or the compiler flags, but these defaults should be fine. + +SHELL = /bin/sh + +# Target filenames +# svnname.sh constructs a name: +# where is the atomic revision number of the svn repo. +epanetsvnpath = ../../.. +epanetrootname := $(shell ../svnname.sh $(epanetsvnpath) "" epanet_gcc_ "") +libname := lib$(epanetrootname).so +exename := $(epanetrootname) +# Shell wrapper +runcmdtemplate = runepanet.sh.template +runcmdname = $(shell ../svnname.sh $(epanetsvnpath) "" runepanet_ .sh) +# Location of EPANET toolkit includes +epanetincludedir = ../../include +# Search path for sources +epanetsrcdir = ../../src +VPATH = $(epanetsrcdir):$(epanetincludedir) + +# Install directories +prefix = ~ +exec_prefix = $(prefix) +libdir = $(exec_prefix)/lib +bindir = $(exec_prefix)/bin +includedir = $(prefix)/include +datarootdir = $(prefix)/share +docdir = $(datarootdir)/doc/epanet + +# Compiler and flags +CC = gcc +CFLAGS = -g -O -fPIC +CPPFLAGS = -I $(epanetincludedir) +LDFLAGS = -L . -W1,-rpath,$(libdir) -lm + +# Installer +INSTALL = install +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) -m 644 + +# Files for the shared object library +epanet_objs=hash.o hydraul.o inpfile.o input1.o input2.o \ + input3.o mempool.o output.o quality.o report.o \ + rules.o smatrix.o +# Epanet header files +epanet_heads=enumstxt.h funcs.h hash.h mempool.h text.h toolkit.h types.h vars.h +# Epanet main program +epanet_main=epanet +# Epanet main program header files +epanet_main_heads=epanet2.h + +.PHONY: all +all: $(libname) $(exename) + +$(libname): $(epanet_objs) + $(CC) $(CFLAGS) $(CPPFLAGS) -D SOL -c $(epanetsrcdir)/$(epanet_main).c + $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $(epanet_main).o $^ + +$(exename): $(libname) $(epanet_main_heads) + $(CC) $(CFLAGS) $(CPPFLAGS) -D CLE -c $(epanetsrcdir)/$(epanet_main).c + $(CC) $(CFLAGS) -o $@ $(epanet_main).o -l$(epanetrootname) $(LDFLAGS) + +$(epanet_objs): $(epanet_heads) + +.PHONY: install +install: + cat $(runcmdtemplate) | sed 's|libdir|$(libdir)|' \ + | sed 's|exename|$(bindir)/$(exename)|' \ + > $(runcmdname) + $(INSTALL_PROGRAM) -D $(exename) $(bindir)/$(exename) + $(INSTALL_PROGRAM) -D $(libname) $(libdir)/$(libname) + $(INSTALL_DATA) -D $(epanetincludedir)/epanet2.h $(includedir)/epanet2.h + $(INSTALL_PROGRAM) -D $(runcmdname) $(bindir)/$(runcmdname) + +.PHONY: uninstall +uninstall: + +.PHONY: check +check: + +.PHONY: clean +clean: + -/bin/rm *.o $(libname) $(exename) $(runcmdname) diff --git a/build/Linux/runepanet.sh.template b/build/Linux/runepanet.sh.template new file mode 100644 index 0000000..55ae0d3 --- /dev/null +++ b/build/Linux/runepanet.sh.template @@ -0,0 +1,4 @@ +#!/bin/sh +export PATH=libdir:$PATH +export LD_LIBRARY_PATH=libdir:$LD_LIBRARY_PATH +exec exename "$@" diff --git a/build/MSVC/Epanet/Epanet.ncb b/build/MSVC/Epanet/Epanet.ncb new file mode 100644 index 0000000..9001bf3 Binary files /dev/null and b/build/MSVC/Epanet/Epanet.ncb differ diff --git a/build/MSVC/Epanet/Epanet.sln b/build/MSVC/Epanet/Epanet.sln new file mode 100644 index 0000000..127e164 --- /dev/null +++ b/build/MSVC/Epanet/Epanet.sln @@ -0,0 +1,30 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EpanetLib", "..\EpanetLib\EpanetLib.vcproj", "{0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EpanetRun", "..\EpanetRun\EpanetRun.vcproj", "{11056F72-0330-445F-8DF9-0734DC4F785B}" + ProjectSection(ProjectDependencies) = postProject + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135} = {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Debug.ActiveCfg = Debug|Win32 + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Debug.Build.0 = Debug|Win32 + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Release.ActiveCfg = Release|Win32 + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Release.Build.0 = Release|Win32 + {11056F72-0330-445F-8DF9-0734DC4F785B}.Debug.ActiveCfg = Debug|Win32 + {11056F72-0330-445F-8DF9-0734DC4F785B}.Debug.Build.0 = Debug|Win32 + {11056F72-0330-445F-8DF9-0734DC4F785B}.Release.ActiveCfg = Release|Win32 + {11056F72-0330-445F-8DF9-0734DC4F785B}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/build/MSVC/Epanet/Epanet.suo b/build/MSVC/Epanet/Epanet.suo new file mode 100644 index 0000000..5605e6a Binary files /dev/null and b/build/MSVC/Epanet/Epanet.suo differ diff --git a/build/MSVC/EpanetLib/EpanetLib.ncb b/build/MSVC/EpanetLib/EpanetLib.ncb new file mode 100644 index 0000000..0f841ad Binary files /dev/null and b/build/MSVC/EpanetLib/EpanetLib.ncb differ diff --git a/build/MSVC/EpanetLib/EpanetLib.sln b/build/MSVC/EpanetLib/EpanetLib.sln new file mode 100644 index 0000000..3b74e55 --- /dev/null +++ b/build/MSVC/EpanetLib/EpanetLib.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EpanetLib", "EpanetLib.vcproj", "{0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Debug.ActiveCfg = Debug|Win32 + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Debug.Build.0 = Debug|Win32 + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Release.ActiveCfg = Release|Win32 + {0B2334F0-D2D3-4F11-AA93-D8E2AED5F135}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/build/MSVC/EpanetLib/EpanetLib.suo b/build/MSVC/EpanetLib/EpanetLib.suo new file mode 100644 index 0000000..d19ee92 Binary files /dev/null and b/build/MSVC/EpanetLib/EpanetLib.suo differ diff --git a/build/MSVC/EpanetLib/EpanetLib.vcproj b/build/MSVC/EpanetLib/EpanetLib.vcproj new file mode 100644 index 0000000..eddb58a --- /dev/null +++ b/build/MSVC/EpanetLib/EpanetLib.vcproj @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/MSVC/EpanetRun/EpanetRun.vcproj b/build/MSVC/EpanetRun/EpanetRun.vcproj new file mode 100644 index 0000000..c006568 --- /dev/null +++ b/build/MSVC/EpanetRun/EpanetRun.vcproj @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/MSVC/epanet2.mak b/build/MSVC/epanet2.mak new file mode 100644 index 0000000..2ca12d5 --- /dev/null +++ b/build/MSVC/epanet2.mak @@ -0,0 +1,213 @@ +# Microsoft Developer Studio Generated NMAKE File, Based on epanet2.dsp +!IF "$(CFG)" == "" +CFG=epanet2 - Win32 Release +!MESSAGE No configuration specified. Defaulting to epanet2 - Win32 Release. +!ENDIF + +!IF "$(CFG)" != "epanet2 - Win32 Release" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "epanet2.mak" CFG="epanet2 - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "epanet2 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +OUTDIR=.\Release +INTDIR=.\Release +# Begin Custom Macros +OutDir=.\Release +# End Custom Macros + +ALL : "$(OUTDIR)\epanet2.dll" + + +CLEAN : + -@erase "$(INTDIR)\epanet.obj" + -@erase "$(INTDIR)\hash.obj" + -@erase "$(INTDIR)\hydraul.obj" + -@erase "$(INTDIR)\inpfile.obj" + -@erase "$(INTDIR)\input1.obj" + -@erase "$(INTDIR)\input2.obj" + -@erase "$(INTDIR)\input3.obj" + -@erase "$(INTDIR)\mempool.obj" + -@erase "$(INTDIR)\output.obj" + -@erase "$(INTDIR)\quality.obj" + -@erase "$(INTDIR)\report.obj" + -@erase "$(INTDIR)\rules.obj" + -@erase "$(INTDIR)\smatrix.obj" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(OUTDIR)\epanet2.dll" + -@erase "$(OUTDIR)\epanet2.exp" + -@erase "$(OUTDIR)\epanet2.lib" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +CPP=cl.exe +CPP_PROJ=/nologo /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EPANET2_EXPORTS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c + +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +MTL=midl.exe +MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 +RSC=rc.exe +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\epanet2.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\epanet2.pdb" /machine:I386 /def:"..\epanet2.def" /out:"$(OUTDIR)\epanet2.dll" /implib:"$(OUTDIR)\epanet2.lib" +DEF_FILE= \ + "..\epanet2.def" +LINK32_OBJS= \ + "$(INTDIR)\epanet.obj" \ + "$(INTDIR)\hash.obj" \ + "$(INTDIR)\hydraul.obj" \ + "$(INTDIR)\inpfile.obj" \ + "$(INTDIR)\input1.obj" \ + "$(INTDIR)\input2.obj" \ + "$(INTDIR)\input3.obj" \ + "$(INTDIR)\mempool.obj" \ + "$(INTDIR)\output.obj" \ + "$(INTDIR)\quality.obj" \ + "$(INTDIR)\report.obj" \ + "$(INTDIR)\rules.obj" \ + "$(INTDIR)\smatrix.obj" + +"$(OUTDIR)\epanet2.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + + +!IF "$(NO_EXTERNAL_DEPS)" != "1" +!IF EXISTS("epanet2.dep") +!INCLUDE "epanet2.dep" +!ELSE +!MESSAGE Warning: cannot find "epanet2.dep" +!ENDIF +!ENDIF + + +!IF "$(CFG)" == "epanet2 - Win32 Release" +SOURCE=..\epanet.c + +"$(INTDIR)\epanet.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\hash.c + +"$(INTDIR)\hash.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\hydraul.c + +"$(INTDIR)\hydraul.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\inpfile.c + +"$(INTDIR)\inpfile.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\input1.c + +"$(INTDIR)\input1.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\input2.c + +"$(INTDIR)\input2.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\input3.c + +"$(INTDIR)\input3.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\mempool.c + +"$(INTDIR)\mempool.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\output.c + +"$(INTDIR)\output.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\quality.c + +"$(INTDIR)\quality.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\report.c + +"$(INTDIR)\report.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\rules.c + +"$(INTDIR)\rules.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +SOURCE=..\smatrix.c + +"$(INTDIR)\smatrix.obj" : $(SOURCE) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + + +!ENDIF + diff --git a/build/svnname.sh b/build/svnname.sh new file mode 100644 index 0000000..adc579f --- /dev/null +++ b/build/svnname.sh @@ -0,0 +1,3 @@ +#!/bin/bash +SVNREV=`svn info "$1" | grep Revision | awk -F": " '{print $2}'` +echo $2$3${SVNREV}$4 diff --git a/src/Readme.txt b/doc/Readme.txt similarity index 100% rename from src/Readme.txt rename to doc/Readme.txt diff --git a/src/Engine Updates.txt b/doc/changes.txt similarity index 100% rename from src/Engine Updates.txt rename to doc/changes.txt diff --git a/src/epanet2.h b/include/epanet2.h similarity index 100% rename from src/epanet2.h rename to include/epanet2.h diff --git a/src/epanet2.def b/src/epanet2.def deleted file mode 100644 index 7ee86fa..0000000 --- a/src/epanet2.def +++ /dev/null @@ -1,58 +0,0 @@ -LIBRARY EPANET2.DLL - -EXPORTS - ENaddpattern = _ENaddpattern@4 - ENclose = _ENclose@0 - ENcloseH = _ENcloseH@0 - ENcloseQ = _ENcloseQ@0 - ENepanet = _ENepanet@16 - ENgetcontrol = _ENgetcontrol@24 - ENgetcount = _ENgetcount@8 - ENgeterror = _ENgeterror@12 - ENgetflowunits = _ENgetflowunits@4 - ENgetlinkid = _ENgetlinkid@8 - ENgetlinkindex = _ENgetlinkindex@8 - ENgetlinknodes = _ENgetlinknodes@12 - ENgetlinktype = _ENgetlinktype@8 - ENgetlinkvalue = _ENgetlinkvalue@12 - ENgetnodeid = _ENgetnodeid@8 - ENgetnodeindex = _ENgetnodeindex@8 - ENgetnodetype = _ENgetnodetype@8 - ENgetnodevalue = _ENgetnodevalue@12 - ENgetoption = _ENgetoption@8 - ENgetpatternid = _ENgetpatternid@8 - ENgetpatternindex = _ENgetpatternindex@8 - ENgetpatternlen = _ENgetpatternlen@8 - ENgetpatternvalue = _ENgetpatternvalue@12 - ENgetqualtype = _ENgetqualtype@8 - ENgettimeparam = _ENgettimeparam@8 - ENgetversion = _ENgetversion@4 - ENinitH = _ENinitH@4 - ENinitQ = _ENinitQ@4 - ENnextH = _ENnextH@4 - ENnextQ = _ENnextQ@4 - ENopen = _ENopen@12 - ENopenH = _ENopenH@0 - ENopenQ = _ENopenQ@0 - ENreport = _ENreport@0 - ENresetreport = _ENresetreport@0 - ENrunH = _ENrunH@4 - ENrunQ = _ENrunQ@4 - ENsaveH = _ENsaveH@0 - ENsavehydfile = _ENsavehydfile@4 - ENsaveinpfile = _ENsaveinpfile@4 - ENsetcontrol = _ENsetcontrol@24 - ENsetlinkvalue = _ENsetlinkvalue@12 - ENsetnodevalue = _ENsetnodevalue@12 - ENsetoption = _ENsetoption@8 - ENsetpattern = _ENsetpattern@12 - ENsetpatternvalue = _ENsetpatternvalue@12 - ENsetqualtype = _ENsetqualtype@16 - ENsetreport = _ENsetreport@4 - ENsetstatusreport = _ENsetstatusreport@4 - ENsettimeparam = _ENsettimeparam@8 - ENsolveH = _ENsolveH@0 - ENsolveQ = _ENsolveQ@0 - ENstepQ = _ENstepQ@4 - ENusehydfile = _ENusehydfile@4 - ENwriteline = _ENwriteline@4