From 317452c943953d5129eb7924e69f055fc84de1b1 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Thu, 18 Sep 2008 08:08:31 +0000 Subject: [PATCH] build without unix shell -- first try --- Makefile | 62 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/Makefile b/Makefile index 55361dddda..ed3e46a7f5 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,11 @@ link: compile ${LINKER} ${OPTIM} ${DASH}o bin/gmsh${EXEEXT} ${GMSH_LIBS} compile: variables initialtag +ifneq (${UNAME},WIN32MSVC) @for i in ${GMSH_DIRS}; do (cd $$i && ${MAKE}); done +else + for %%i in (${GMSH_DIRS}) do gmake -C %%i +endif install: variables mkdir -p ${bindir} @@ -58,6 +62,7 @@ uninstall: rm -f ${mandir}/man1/gmsh.1 tag: +ifneq (${UNAME},WIN32MSVC) echo "#define GMSH_MAJOR_VERSION ${GMSH_MAJOR_VERSION}" > ${GMSH_VERSION_FILE} echo "#define GMSH_MINOR_VERSION ${GMSH_MINOR_VERSION}" >> ${GMSH_VERSION_FILE} echo "#define GMSH_PATCH_VERSION ${GMSH_PATCH_VERSION}" >> ${GMSH_VERSION_FILE} @@ -68,15 +73,34 @@ tag: echo "#define GMSH_PACKAGER \"`whoami`\"" >> ${GMSH_VERSION_FILE} echo "#define GMSH_OS \"${UNAME}\"" >> ${GMSH_VERSION_FILE} echo "#define GMSH_SHORT_LICENSE \"${GMSH_SHORT_LICENSE}\"" >> ${GMSH_VERSION_FILE} +else + echo #define GMSH_MAJOR_VERSION ${GMSH_MAJOR_VERSION} > ${GMSH_VERSION_FILE} + echo #define GMSH_MINOR_VERSION ${GMSH_MINOR_VERSION} >> ${GMSH_VERSION_FILE} + echo #define GMSH_PATCH_VERSION ${GMSH_PATCH_VERSION} >> ${GMSH_VERSION_FILE} + echo #define GMSH_EXTRA_VERSION "${GMSH_EXTRA_VERSION}" >> ${GMSH_VERSION_FILE} + echo #define GMSH_VERSION "${GMSH_VERSION}" >> ${GMSH_VERSION_FILE} + echo #define GMSH_DATE "" >> ${GMSH_VERSION_FILE} + echo #define GMSH_HOST "${HOSTNAME}" >> ${GMSH_VERSION_FILE} + echo #define GMSH_PACKAGER "" >> ${GMSH_VERSION_FILE} + echo #define GMSH_OS "${UNAME}" >> ${GMSH_VERSION_FILE} + echo #define GMSH_SHORT_LICENSE ${GMSH_SHORT_LICENSE} >> ${GMSH_VERSION_FILE} +endif # Rules to build the Gmsh library .PHONY: lib lib: variables initialtag +ifneq (${UNAME},WIN32MSVC) @for i in ${GMSH_DIRS}; do (cd $$i && ${MAKE} cpobj); done ${AR} ${ARFLAGS}lib/libGmsh${LIBEXT} lib/*${OBJEXT} ${RANLIB} lib/libGmsh${LIBEXT} rm -f lib/*${OBJEXT} +else + for %%i in (${GMSH_DIRS}); do gmake -C %%i + ${AR} ${ARFLAGS}bin\libGmsh${LIBEXT} lib\*${LIBEXT} + erase lib\*${LIBEXT} + move bin\libGmsh${LIBEXT} lib +endif install-lib: lib mkdir -p ${includedir}/gmsh @@ -126,35 +150,6 @@ framework: lib cd Gmsh.framework && ln -s Versions/Current/Headers cd Gmsh.framework && ln -s Versions/Current/Resources -# Windows specific rules that will work in a DOS command window -# without any unix-type shell (only gmake.exe needs to be present) - -dos: dos-tag - for %%i in (${GMSH_DIRS}) do gmake -C %%i - ${LINKER} ${OPTIM} ${DASH}o bin/gmsh${EXEEXT} ${GMSH_LIBS} - -dos-lib: dos-tag - for %%i in (${GMSH_DIRS}); do gmake -C %%i - ${AR} ${ARFLAGS}bin\libGmsh${LIBEXT} lib\*${LIBEXT} - erase lib\*${LIBEXT} - move bin\libGmsh${LIBEXT} lib - -dos-clean: - for %%i in (doc lib ${GMSH_DIRS}) do gmake -C %%i clean - erase Common\GmshVersion.h - -dos-tag: - echo #define GMSH_MAJOR_VERSION ${GMSH_MAJOR_VERSION} > ${GMSH_VERSION_FILE} - echo #define GMSH_MINOR_VERSION ${GMSH_MINOR_VERSION} >> ${GMSH_VERSION_FILE} - echo #define GMSH_PATCH_VERSION ${GMSH_PATCH_VERSION} >> ${GMSH_VERSION_FILE} - echo #define GMSH_EXTRA_VERSION "${GMSH_EXTRA_VERSION}" >> ${GMSH_VERSION_FILE} - echo #define GMSH_VERSION "${GMSH_VERSION}" >> ${GMSH_VERSION_FILE} - echo #define GMSH_DATE "" >> ${GMSH_VERSION_FILE} - echo #define GMSH_HOST "${HOSTNAME}" >> ${GMSH_VERSION_FILE} - echo #define GMSH_PACKAGER "" >> ${GMSH_VERSION_FILE} - echo #define GMSH_OS "${UNAME}" >> ${GMSH_VERSION_FILE} - echo #define GMSH_SHORT_LICENSE ${GMSH_SHORT_LICENSE} >> ${GMSH_VERSION_FILE} - # Utilities variables: configure @@ -191,8 +186,13 @@ purge: -o -name "*.bak"` clean: +ifneq (${UNAME},WIN32MSVC) for i in doc lib ${GMSH_DIRS}; do (cd $$i && ${MAKE} clean); done rm -f ${GMSH_VERSION_FILE} +else + for %%i in (doc lib ${GMSH_DIRS}) do gmake -C %%i clean + erase Common\GmshVersion.h +endif clean-most: for i in doc lib ${GMSH_DIRS:contrib/Netgen=}; do (cd $$i && ${MAKE} clean); done @@ -214,7 +214,11 @@ nodepend: done initialtag: +ifneq (${UNAME},WIN32MSVC) @if [ ! -r ${GMSH_VERSION_FILE} ]; then ${MAKE} tag ; fi +else + ${MAKE} tag +endif tags: gtags -- GitLab