replae with pointer
[rrdtool.git] / win32 / Makefile
index 5c086a5..8c392d5 100644 (file)
@@ -1,9 +1,12 @@
-# Gnu Makefile for Win32 target * 09-Sep-2006
+# Gnu Makefile for Win32 target
 # for use with MingW32 gcc or Metrowerks CodeWarrior compiler
 # use with: make -f Makefile [help|all|clean|dev|devclean|dist|distclean]
+#
+# $id: $
+#
 
 DESCR  = Round Robin Database Tool
-COPYR  = Copyright (c) 1997-2006 by Tobias Oetiker
+COPYR  = Copyright (c) 1997-2007 by Tobias Oetiker
 WWWURL = http://www.rrdtool.org/
 ICON   = $(PROOT)/favicon.ico
 
@@ -30,12 +33,12 @@ endif
 # All library code is statically linked to avoid problems with other lib DLLs.
 # Edit the path below to point to your libpng sources or set environment var.
 ifndef LIBPNG
-LIBPNG = $(LIBBASE)/libpng-1.2.12
+LIBPNG = $(LIBBASE)/libpng-1.2.16
 endif
 # Edit the path below to point to your freetype sources or set environment var.
 ifndef LIBFT2
-#LIBFT2        = $(LIBBASE)/freetype-2.2.1
-LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.2.1
+#LIBFT2        = $(LIBBASE)/freetype-2.3.4
+LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.4
 endif
 # Edit the path below to point to your libart sources or set environment var.
 ifndef LIBART
@@ -72,7 +75,7 @@ CP    = cp -afv
 # Here you can find a native Win32 binary of the original awk:
 # http://www.gknw.net/development/prgtools/awk.zip
 AWK    = awk
-ZIP    = zip -qzR9
+ZIP    = zip -qzr9
 
 # must be equal to DEBUG or NDEBUG
 DB     = NDEBUG
@@ -106,6 +109,7 @@ LIBPATH     += -lr "$(METROWERKS)/MSL" -lr "$(METROWERKS)/Win32-x86 Support"
 LDLIBS += -lkernel32.lib -luser32.lib
 LDLIBS += -lMSL_Runtime_x86.lib -lMSL_C_x86.lib -lMSL_Extras_x86.lib
 RCFLAGS        =
+CFLAGS += -DWIN32
 CFLAGS += -nostdinc -gccinc -msgstyle gcc -inline off -opt nointrinsics -proc 586
 CFLAGS += -ir "$(METROWERKS)/MSL" -ir "$(METROWERKS)/Win32-x86 Support"
 CFLAGS += -w on,nounused,nounusedexpr # -ansi strict
@@ -116,15 +120,18 @@ LDFLAGS   = -s
 AR     = ar
 ARFLAGS        = -cq
 LIBEXT = a
-RCFLAGS        = -I rc -O coff -i
-CFLAGS += -fno-strict-aliasing -Wall -Wno-unused # -pedantic
+RCFLAGS        = -O coff -i
+CFLAGS += -fno-strict-aliasing
+CFLAGS += -Wall -Wno-unused # -pedantic
 endif
 
+ifeq ($(findstring msys,$(OSTYPE)),msys)
+DL     = '
+DS     = /
+else
 DS     = \\
-
-ifndef COPYR
-       COPYR = Copyright (c) 2006 The Open Source Community.
 endif
+
 ifndef DESCR
        DESCR = $(notdir $(@:.rc=)) Command Extension
 endif
@@ -152,6 +159,7 @@ RRDLIBOBJS  = \
        $(OBJDIR)/rrd_hw.o \
        $(OBJDIR)/rrd_info.o \
        $(OBJDIR)/rrd_last.o \
+       $(OBJDIR)/rrd_lastupdate.o \
        $(OBJDIR)/rrd_nan_inf.o \
        $(OBJDIR)/rrd_open.o \
        $(OBJDIR)/rrd_resize.o \
@@ -165,9 +173,9 @@ RRDLIBOBJS  = \
        $(EOLIST)
 
 XLIBOBJS       = \
+       $(OBJDIR)/rrd_getopt.o \
+       $(OBJDIR)/rrd_getopt1.o \
        $(OBJDIR)/art_rgba_svp.o \
-       $(OBJDIR)/getopt.o \
-       $(OBJDIR)/getopt1.o \
        $(OBJDIR)/hash_32.o \
        $(OBJDIR)/parsetime.o \
        $(OBJDIR)/pngsize.o \
@@ -233,8 +241,9 @@ rrdtool: $(OBJDIR) $(PROOT)/rrd_config.h $(OBJDIR)/rrdtool.exe
 rrdcgi: $(OBJDIR) $(PROOT)/rrd_config.h $(OBJDIR)/rrdcgi.$(CGIEXT)
 librrd: $(OBJDIR) $(PROOT)/rrd_config.h $(OBJDIR)/librrd.$(LIBEXT)
 
+FORCE: ;
+
 dist: all $(DISTDIR) $(DISTDIR)/readme.txt
-#      @-$(CP) $(OBJDIR)/librrd.$(LIBEXT) $(DISTDIR)
        @-$(CP) $(OBJDIR)/rrdcgi.$(CGIEXT) $(DISTDIR)
        @-$(CP) $(OBJDIR)/rrdtool.exe $(DISTDIR)
        @-$(CP) $(PROOT)/src/*.ttf $(DISTDIR)
@@ -311,43 +320,43 @@ $(OBJDIR)/%.res: $(OBJDIR)/%.rc
        @$(RC) $(RCFLAGS) $< -o $@
 
 $(OBJDIR)/%.rc: Makefile $(OBJDIR)/version.inc
-       @echo 1 VERSIONINFO > $@
-       @echo  FILEVERSION $(RRD_VERSION),0 >> $@
-       @echo  PRODUCTVERSION $(RRD_VERSION),0 >> $@
-       @echo  FILEFLAGSMASK 0x3fL >> $@
-       @echo  FILEOS 0x40004L >> $@
-       @echo  FILEFLAGS 0x0L >> $@
-       @echo  FILETYPE 0x1L >> $@
-       @echo  FILESUBTYPE 0x0L >> $@
-       @echo BEGIN >> $@
-       @echo   BLOCK "StringFileInfo" >> $@
-       @echo   BEGIN >> $@
-       @echo     BLOCK "040904E4" >> $@
-       @echo     BEGIN >> $@
-       @echo       VALUE "LegalCopyright","$(COPYR)\0" >> $@
+       @echo $(DL)1 VERSIONINFO$(DL) > $@
+       @echo $(DL) FILEVERSION $(RRD_VERSION),0$(DL) >> $@
+       @echo $(DL) PRODUCTVERSION $(RRD_VERSION),0$(DL) >> $@
+       @echo $(DL) FILEFLAGSMASK 0x3fL$(DL) >> $@
+       @echo $(DL) FILEOS 0x40004L$(DL) >> $@
+       @echo $(DL) FILEFLAGS 0x0L$(DL) >> $@
+       @echo $(DL) FILETYPE 0x1L$(DL) >> $@
+       @echo $(DL) FILESUBTYPE 0x0L$(DL) >> $@
+       @echo $(DL)BEGIN$(DL) >> $@
+       @echo $(DL)  BLOCK "StringFileInfo"$(DL) >> $@
+       @echo $(DL)  BEGIN$(DL) >> $@
+       @echo $(DL)    BLOCK "040904E4"$(DL) >> $@
+       @echo $(DL)    BEGIN$(DL) >> $@
+       @echo $(DL)      VALUE "LegalCopyright","$(COPYR)\0"$(DL) >> $@
 ifdef COMPANY
-       @echo       VALUE "CompanyName","$(COMPANY)\0" >> $@
+       @echo $(DL)      VALUE "CompanyName","$(COMPANY)\0"$(DL) >> $@
 endif
-       @echo       VALUE "ProductName","$(notdir $(@:.rc=.exe))\0" >> $@
-       @echo       VALUE "ProductVersion","$(RRD_VERSION_STR)\0" >> $@
-       @echo       VALUE "License","Released under GPL.\0" >> $@
-       @echo       VALUE "FileDescription","$(DESCR)\0" >> $@
-       @echo       VALUE "FileVersion","$(RRD_VERSION_STR)\0" >> $@
-       @echo       VALUE "InternalName","$(notdir $(@:.rc=))\0" >> $@
-       @echo       VALUE "OriginalFilename","$(notdir $(@:.rc=.exe))\0" >> $@
-       @echo       VALUE "WWW","$(WWWURL)\0" >> $@
-       @echo     END >> $@
-       @echo   END >> $@
-       @echo   BLOCK "VarFileInfo" >> $@
-       @echo   BEGIN >> $@
-       @echo     VALUE "Translation", 0x409, 1252 >> $@
-       @echo   END >> $@
-       @echo END >> $@
+       @echo $(DL)      VALUE "ProductName","$(notdir $(@:.rc=.exe))\0"$(DL) >> $@
+       @echo $(DL)      VALUE "ProductVersion","$(RRD_VERSION_STR)\0"$(DL) >> $@
+       @echo $(DL)      VALUE "License","Released under GPL.\0"$(DL) >> $@
+       @echo $(DL)      VALUE "FileDescription","$(DESCR)\0"$(DL) >> $@
+       @echo $(DL)      VALUE "FileVersion","$(RRD_VERSION_STR)\0"$(DL) >> $@
+       @echo $(DL)      VALUE "InternalName","$(notdir $(@:.rc=))\0"$(DL) >> $@
+       @echo $(DL)      VALUE "OriginalFilename","$(notdir $(@:.rc=.exe))\0"$(DL) >> $@
+       @echo $(DL)      VALUE "WWW","$(WWWURL)\0"$(DL) >> $@
+       @echo $(DL)    END$(DL) >> $@
+       @echo $(DL)  END$(DL) >> $@
+       @echo $(DL)  BLOCK "VarFileInfo"$(DL) >> $@
+       @echo $(DL)  BEGIN$(DL) >> $@
+       @echo $(DL)    VALUE "Translation", 0x409, 1252$(DL) >> $@
+       @echo $(DL)  END$(DL) >> $@
+       @echo $(DL)END$(DL) >> $@
 ifdef ICON
-       @echo 10 ICON DISCARDABLE "$(ICON)" >> $@
+       @echo $(DL)10 ICON DISCARDABLE "$(ICON)"$(DL) >> $@
 endif
 
-$(PROOT)/rrd_config.h: Makefile $(OBJDIR)/version.inc
+$(PROOT)/rrd_config.h: FORCE Makefile $(OBJDIR)/version.inc
        @echo Creating $@
        @echo $(DL)/* $(notdir $@) for Win32 target.$(DL) > $@
        @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
@@ -365,11 +374,9 @@ $(PROOT)/rrd_config.h: Makefile $(OBJDIR)/version.inc
        @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_DLFCN_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_DLOPEN 1$(DL) >> $@
-       @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_ERRNO_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@
-#      @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
        @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@
@@ -377,9 +384,7 @@ $(PROOT)/rrd_config.h: Makefile $(OBJDIR)/version.inc
        @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_MATH_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_MBSTOWCS 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@
        @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@
-#      @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@
        @echo $(DL)#define HAVE_SNPRINTF 1$(DL) >> $@
        @echo $(DL)#define HAVE_STDARG_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_STDDEF_H 1$(DL) >> $@
@@ -392,12 +397,10 @@ $(PROOT)/rrd_config.h: Makefile $(OBJDIR)/version.inc
        @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@
        @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@
        @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@
-#      @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
        @echo $(DL)#define HAVE_VSNPRINTF 1$(DL) >> $@
        @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
        @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
@@ -415,7 +418,7 @@ endif
        @echo $(DL)#define RRDGRAPH_YLEGEND_ANGLE $(RRDGRAPH_YLEGEND_ANGLE)$(DL) >> $@
        @echo $(DL)#define strftime strftime_$(DL) >> $@
 ifdef WITH_PIECHART
-       @echo $(DL)#define WITH_PIECHART 1$(DL) >> $@
+       @echo $(DL)#define WITH_PIECHART $(WITH_PIECHART)$(DL) >> $@
 endif
        @echo $(DL)#endif /* RRD_CONFIG_H */$(DL) >> $@