-# Gnu Makefile for NetWare target * 25-Aug-2006
+# Gnu Makefile for NetWare target
# for use with gcc/nlmconv or Metrowerks CodeWarrior compiler
-# use with: make -f Makefile [all|clean|dist|distclean|help]
+# use with: make -f Makefile [help|all|clean|dev|devclean|dist|distclean]
+#
+# $id: $
+#
DESCR = Round Robin Database Tool $(RRD_VERSION_STR)
-COPYR = Copyright (c) 1997-2006 by Tobias Oetiker
+COPYR = Copyright (c) 1997-2007 by Tobias Oetiker
WWWURL = http://www.rrdtool.org/
MTSAFE = YES
#SCREEN = $(DESCR)
# All library code is statically linked to avoid problems with other lib NLMs.
# 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)/freetype-2.3.4
endif
# Edit the path below to point to your libart sources or set environment var.
ifndef LIBART
ifndef DISTDIR
DISTDIR = rrdtool-$(RRD_VERSION_STR)-nw
endif
-ARCHIVE = $(DISTDIR).zip
+DISTARC = $(DISTDIR).zip
+
+# Edit the path below to point to your distribution folder.
+ifndef DEVLDIR
+DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-nw
+endif
+DEVLARC = $(DEVLDIR).zip
# whatever...
# NO_NULL_REALLOC = 1
# 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
+MV = mv -fv
# must be equal to DEBUG or NDEBUG
DB = NDEBUG
LD = mwldnlm
LDFLAGS = -nostdlib $^ $(PRELUDE) $(LDLIBS) -o $@ -commandfile
AR = $(LD)
-ARFLAGS = -type library -w nocmdline $(OBJS) -o
+ARFLAGS = -nostdlib -type library -o
LIBEXT = lib
+#RANLIB =
CFLAGS += -gccinc -inline off -opt nointrinsics -proc 586
CFLAGS += -relax_pointers
#CFLAGS += -w on,nounused,nounusedexpr # -ansi strict
AR = ar
ARFLAGS = -cq
LIBEXT = a
-CFLAGS += -fno-builtin -fpack-struct -fpcc-struct-return -fno-strict-aliasing
+RANLIB = ranlib
+CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
CFLAGS += -Wall -Wno-unused # -pedantic
ifeq ($(LIBARCH),LIBC)
PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
ifeq ($(findstring linux,$(OSTYPE)),linux)
#include $(NDKBASE)/nlmconv/ncpfs.inc
DL = '
+DS = /
+else
+DS = \\
endif
ifeq ($(MTSAFE),YES)
ifeq ($(MTSAFE),NO)
XDCOPT = -u
endif
-ifndef COPYR
- COPYR = Copyright (c) 2006 The Open Source Community.
-endif
ifndef DESCR
DESCR = $(notdir $(@:.def=)) Command Extension
endif
$(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 \
$(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)/rrd_parsetime.o \
$(OBJDIR)/pngsize.o \
$(EOLIST)
all: rrdtool rrdcgi
-rrdtool: $(OBJDIR) $(PROOT)/config.h $(OBJDIR)/rrdtool.nlm
-rrdcgi: $(OBJDIR) $(PROOT)/config.h $(OBJDIR)/rrdcgi.$(CGIEXT)
-librrd: $(OBJDIR) $(PROOT)/config.h $(OBJDIR)/librrd.$(LIBEXT)
+rrdtool: $(OBJDIR) $(PROOT)/rrd_config.h $(OBJDIR)/rrdtool.nlm
+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.nlm $(DISTDIR)
@-$(CP) $(PROOT)/src/*.ttf $(DISTDIR)
@-$(CP) $(PROOT)/COPYRIGHT $(DISTDIR)
@-$(CP) $(PROOT)/NEWS $(DISTDIR)
@-$(CP) $(PROOT)/README $(DISTDIR)
- @echo Creating $(ARCHIVE)
- @$(ZIP) $(ARCHIVE) $(DISTDIR)/* < $(DISTDIR)/readme.txt
+ @echo Creating $(DISTARC)
+ @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
+
+dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
+ @-mkdir $(DEVLDIR)$(DS)include
+ @-mkdir $(DEVLDIR)$(DS)lib
+ @-mkdir $(DEVLDIR)$(DS)src
+ @-$(CP) $(OBJDIR)/librrd.$(LIBEXT) $(DEVLDIR)/lib
+ @-$(CP) $(PROOT)/rrd_config.h $(DEVLDIR)/include
+ @-$(CP) $(PROOT)/src/rrd.h $(DEVLDIR)/include
+ @-$(CP) $(PROOT)/src/*.ttf $(DEVLDIR)/src
+ @-$(CP) $(PROOT)/CHANGES $(DEVLDIR)
+ @-$(CP) $(PROOT)/COPYING $(DEVLDIR)
+ @-$(CP) $(PROOT)/COPYRIGHT $(DEVLDIR)
+ @-$(CP) $(PROOT)/NEWS $(DEVLDIR)
+ @-$(CP) $(PROOT)/README $(DEVLDIR)
+ @echo Creating $(DEVLARC)
+ @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
clean:
-$(RM) -r $(OBJDIR)
- -$(RM) $(PROOT)/config.h
+ -$(RM) $(PROOT)/rrd_config.h
distclean: clean
-$(RM) -r $(DISTDIR)
- -$(RM) $(ARCHIVE)
+ -$(RM) $(DISTARC)
+
+devclean: clean
+ -$(RM) -r $(DEVLDIR)
+ -$(RM) $(DEVLARC)
$(OBJDIR):
@mkdir $@
$(DISTDIR):
@mkdir $@
-$(OBJDIR)/%.o: %.c
- @echo Compiling $<
- @$(CC) $(CFLAGS) -c $< -o $@
+$(DEVLDIR):
+ @mkdir $@
$(OBJDIR)/version.inc: $(PROOT)/configure.ac $(OBJDIR) $(PROOT)/src/get_ver.awk
@echo Creating $@
@$(AWK) -f $(PROOT)/src/get_ver.awk $< > $@
+$(OBJDIR)/%.o: %.c
+ @echo Compiling $<
+ @$(CC) $(CFLAGS) -c $< -o $@
+
$(OBJDIR)/rrdcgi.$(CGIEXT): $(OBJCGI) $(OBJDIR)/rrdcgi.def $(OBJDIR)/rrdcgi.xdc
@echo Linking $@
@-$(RM) $@
@$(LD) $(LDFLAGS) $(@:.$(CGIEXT)=.def)
+ifeq ($(LD),nlmconv)
+ @$(MV) $(notdir $@) $@
+endif
ifneq ($(CGIEXT),nlm)
ifeq ($(LD),mwldnlm)
@$(FIXNLMN) $@
@echo Linking $@
@-$(RM) $@
@$(LD) $(LDFLAGS) $(@:.nlm=.def)
+ifeq ($(LD),nlmconv)
+ @$(MV) $(notdir $@) $@
+endif
$(OBJDIR)/librrd.$(LIBEXT): $(OBJS)
@echo Creating $@
@-$(RM) $@
@$(AR) $(ARFLAGS) $@ $^
+ifdef RANLIB
+ @$(RANLIB) $@
+endif
$(OBJDIR)/%.xdc: Makefile
@echo Creating $@
@echo $(DL)output $(notdir $(@:.def=.nlm))$(DL) >> $@
endif
-$(PROOT)/config.h: Makefile
+$(PROOT)/rrd_config.h: FORCE Makefile $(OBJDIR)/version.inc
@echo Creating $@
- @echo $(DL)/* $@ for NetWare target.$(DL) > $@
+ @echo $(DL)/* $(notdir $@) for NetWare target.$(DL) > $@
@echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
@echo $(DL)** All your changes will be lost!!$(DL) >> $@
@echo $(DL)*/$(DL) >> $@
+ @echo $(DL)#ifndef NETWARE$(DL) >> $@
+ @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@
+ @echo $(DL)#endif$(DL) >> $@
+ @echo $(DL)#ifndef RRD_CONFIG_H$(DL) >> $@
+ @echo $(DL)#define RRD_CONFIG_H$(DL) >> $@
@echo $(DL)#define OS "i586-pc-NetWare"$(DL) >> $@
@echo $(DL)#define PACKAGE_VERSION "$(RRD_VERSION_STR)"$(DL) >> $@
@echo $(DL)#define PACKAGE_BUGREPORT "tobi@oetiker.ch"$(DL) >> $@
@echo $(DL)#define HAVE_SELECT 1$(DL) >> $@
@echo $(DL)#define HAVE_SETLOCALE 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) >> $@
@echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
@echo $(DL)#define HAVE_TZSET 1$(DL) >> $@
@echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNISTD_H 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) >> $@
endif
@echo $(DL)#define RRDGRAPH_YLEGEND_ANGLE $(RRDGRAPH_YLEGEND_ANGLE)$(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) >> $@
$(DISTDIR)/readme.txt: Makefile
@echo Creating $@
@echo $(DL)any further documentation:$(DL) >> $@
@echo $(DL)$(WWWURL)$(DL) >> $@
+$(DEVLDIR)/readme.txt: Makefile
+ @echo Creating $@
+ @echo $(DL)This is a development distribution for NetWare platform.$(DL) > $@
+ @echo $(DL)RRDTool version $(RRD_VERSION_STR)$(DL) >> $@
+ @echo $(DL)Please download the complete RRDTool package for$(DL) >> $@
+ @echo $(DL)any further documentation:$(DL) >> $@
+ @echo $(DL)$(WWWURL)$(DL) >> $@
+
help:
@echo $(DL)===========================================================$(DL)
@echo $(DL)Novell NDK Base = $(NDKBASE)$(DL)
@echo $(DL)$(MAKE) rrdcgi$(DL)
@echo $(DL)$(MAKE) librrd$(DL)
@echo $(DL)$(MAKE) clean$(DL)
+ @echo $(DL)$(MAKE) dev$(DL)
+ @echo $(DL)$(MAKE) devclean$(DL)
@echo $(DL)$(MAKE) dist$(DL)
@echo $(DL)$(MAKE) distclean$(DL)
@echo $(DL)===========================================================$(DL)