Blame Makefile.NetWare

Packit 667938
# Gnu Makefile for NetWare rateup.nlm target * 17-Feb-2007
Packit 667938
# for use with gcc/nlmconv or Metrowerks CodeWarrior compiler
Packit 667938
# use with: make -f Makefile.NetWare [all|clean|dist|distclean|help]
Packit 667938

Packit 667938
TARGET	= rateup
Packit 667938
DESCR	= MRTG Rateup Command Utility $(RATEUP_VERSION_STR)
Packit 667938
COPYR	= Distributed under the GNU General Public License
Packit 667938
WWWURL	= http://www.mrtg.org/
Packit 667938

Packit 667938
MTSAFE	= YES
Packit 667938
#SCREEN	= NONE
Packit 667938
STACK	= 65536
Packit 667938
# Comment the line below if you dont want to load protected automatically.
Packit 667938
#LDRING	= 3
Packit 667938

Packit 667938
# Edit the path below to point to your Novell NDK.
Packit 667938
ifndef NDKBASE
Packit 667938
	NDKBASE	= c:/novell
Packit 667938
endif
Packit 667938
# Edit the path below to point to your install destination.
Packit 667938
ifndef INSTDIR
Packit 667938
	INSTDIR	= s:/mrtg/run
Packit 667938
endif
Packit 667938

Packit 667938
# All library code is statically linked to avoid problems with other lib NLMs. 
Packit 667938
# Base for the lib sources
Packit 667938
ifndef LIBBASE
Packit 667938
	LIBBASE	= ..
Packit 667938
endif
Packit 667938
# All library code is statically linked to avoid problems with other lib NLMs. 
Packit 667938
# Edit the path below to point to your libgd sources or set environment var.
Packit 667938
ifndef LIBGD
Packit 667938
	LIBGD	= $(LIBBASE)/gd-2.0.34
Packit 667938
endif
Packit 667938
# Edit the path below to point to your libpng sources or set environment var.
Packit 667938
ifndef LIBPNG
Packit 667938
	LIBPNG	= $(LIBBASE)/libpng-1.2.16
Packit 667938
endif
Packit 667938
# Edit the path below to point to your zlib sources or set environment var.
Packit 667938
ifndef ZLIBSDK
Packit 667938
	ZLIBSDK	= $(LIBBASE)/zlib-1.2.3
Packit 667938
endif
Packit 667938

Packit 667938
# Edit the var below to point to your library architecture.
Packit 667938
ifndef LIBARCH
Packit 667938
#	LIBARCH = CLIB
Packit 667938
	LIBARCH = LIBC
Packit 667938
endif
Packit 667938

Packit 667938
# The following defines your compiler.
Packit 667938
ifdef METROWERKS
Packit 667938
	CC = mwccnlm
Packit 667938
else
Packit 667938
	CC = gcc
Packit 667938
endif
Packit 667938

Packit 667938
AWK	= awk
Packit 667938
#RM	= rm -f
Packit 667938
CP	= cp -afv
Packit 667938
MV	= mv -f
Packit 667938

Packit 667938
ZIP	= zip -qzR9
Packit 667938
ARCHIVE	= rateup-$(RATEUP_VERSION_STR)-nw.zip
Packit 667938

Packit 667938
# If you want to mark the target as MTSAFE you will need a tool for
Packit 667938
# generating the xdc data for the linker; here's a minimal tool:
Packit 667938
# http://www.gknw.de/development/prgtools/mkxdc.zip
Packit 667938
MPKXDC	= mkxdc
Packit 667938

Packit 667938
# Must be equal to DEBUG or NDEBUG
Packit 667938
DB	= NDEBUG
Packit 667938
#DB	= DEBUG
Packit 667938

Packit 667938
# Optimization: -O<n> or debugging: -g
Packit 667938
ifeq ($(DB),NDEBUG)
Packit 667938
	OPT	= -O2
Packit 667938
	OBJDIR	= release
Packit 667938
else
Packit 667938
	OPT	= -g
Packit 667938
	OBJDIR	= debug
Packit 667938
endif
Packit 667938

Packit 667938
# Include the version info retrieved from source.
Packit 667938
-include $(OBJDIR)/version.inc
Packit 667938

Packit 667938
# Global flags for all compilers
Packit 667938
CFLAGS	= $(OPT) -D$(DB) -nostdinc -DNETWARE -DN_PLAT_NLM -DHAVE_LIBPNG
Packit 667938

Packit 667938
ifeq ($(CC),mwccnlm)
Packit 667938
	LD	= mwldnlm
Packit 667938
	LDFLAGS	= -nostdlib $(PRELUDE) $(OBJDIR)/*.o -o $@ -commandfile
Packit 667938
	CFLAGS	+= -gccinc -msgstyle gcc -inline off -opt nointrinsics -proc 586
Packit 667938
	CFLAGS	+= -relax_pointers
Packit 667938
	#CFLAGS	+= -w on,nounused,nounusedexpr
Packit 667938
	#CFLAGS	+= -ansi strict
Packit 667938
	ifeq ($(LIBARCH),LIBC)
Packit 667938
		PRELUDE = $(SDK_LIBC)/imports/libcpre.o
Packit 667938
		CFLAGS += -align 4
Packit 667938
	else
Packit 667938
		PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
Packit 667938
		CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
Packit 667938
		CFLAGS += -align 1
Packit 667938
	endif
Packit 667938
else
Packit 667938
	LD	= nlmconv
Packit 667938
	LDFLAGS	= -T
Packit 667938
	CFLAGS	+= -fno-builtin -fpcc-struct-return -fno-strict-aliasing
Packit 667938
	CFLAGS	+= -Wall # -Wno-unused # -pedantic
Packit 667938
	ifeq ($(LIBARCH),LIBC)
Packit 667938
		PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
Packit 667938
	else
Packit 667938
		PRELUDE = $(NDK_ROOT)/pre/prelude.o
Packit 667938
		CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
Packit 667938
	endif
Packit 667938
endif
Packit 667938

Packit 667938
ifeq ($(findstring linux,$(OSTYPE)),linux)
Packit 667938
DL	= '
Packit 667938
DS	= /
Packit 667938
else
Packit 667938
DS	= \\
Packit 667938
endif
Packit 667938

Packit 667938
ifeq ($(MTSAFE),YES)
Packit 667938
	XDCOPT = -n
Packit 667938
endif
Packit 667938
ifeq ($(MTSAFE),NO)
Packit 667938
	XDCOPT = -u
Packit 667938
endif
Packit 667938
ifdef XDCOPT
Packit 667938
	XDCDATA = $(OBJDIR)/$(TARGET).xdc
Packit 667938
endif
Packit 667938
ifndef COPYR
Packit 667938
	COPYR = Copyright (c) 2007 The Open Source Community.
Packit 667938
endif
Packit 667938
ifndef DESCR
Packit 667938
	DESCR = $(TARGET) Command Extension
Packit 667938
endif
Packit 667938

Packit 667938
DESCR += ($(LIBARCH)) - $(CC) build
Packit 667938

Packit 667938
NDK_ROOT = $(NDKBASE)/ndk
Packit 667938
SDK_CLIB = $(NDK_ROOT)/nwsdk
Packit 667938
SDK_LIBC = $(NDK_ROOT)/libc
Packit 667938

Packit 667938
ifeq ($(LIBARCH),LIBC)
Packit 667938
	INCLUDES = -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks
Packit 667938
else
Packit 667938
	INCLUDES = -I$(SDK_CLIB)/include/nlm -I$(SDK_CLIB)/include
Packit 667938
endif
Packit 667938

Packit 667938
INCLUDES += -I$(LIBGD) -I$(LIBPNG) -I$(ZLIBSDK)
Packit 667938

Packit 667938
CFLAGS += $(INCLUDES)
Packit 667938

Packit 667938
vpath %.c src $(LIBGD) $(LIBPNG) $(ZLIBSDK)
Packit 667938

Packit 667938
GDOBJS	= \
Packit 667938
	$(OBJDIR)/gd.o \
Packit 667938
	$(OBJDIR)/gd_io.o \
Packit 667938
	$(OBJDIR)/gd_io_dp.o \
Packit 667938
	$(OBJDIR)/gd_io_file.o \
Packit 667938
	$(OBJDIR)/gd_io_ss.o \
Packit 667938
	$(OBJDIR)/gd_png.o \
Packit 667938
	$(OBJDIR)/gd_ss.o \
Packit 667938
	$(OBJDIR)/gdcache.o \
Packit 667938
	$(OBJDIR)/gdfonts.o \
Packit 667938
	$(OBJDIR)/gdhelpers.o \
Packit 667938
	$(OBJDIR)/gdtables.o \
Packit 667938
	$(EOLIST)
Packit 667938
ifeq "$(wildcard $(LIBGD)/gd_security.c)" "$(LIBGD)/gd_security.c"
Packit 667938
GDOBJS	+= \
Packit 667938
	$(OBJDIR)/gd_security.o \
Packit 667938
	$(EOLIST)
Packit 667938
endif
Packit 667938

Packit 667938
PNGOBJS	= \
Packit 667938
	$(OBJDIR)/png.o \
Packit 667938
	$(OBJDIR)/pngerror.o \
Packit 667938
	$(OBJDIR)/pnggccrd.o \
Packit 667938
	$(OBJDIR)/pngget.o \
Packit 667938
	$(OBJDIR)/pngmem.o \
Packit 667938
	$(OBJDIR)/pngpread.o \
Packit 667938
	$(OBJDIR)/pngread.o \
Packit 667938
	$(OBJDIR)/pngrio.o \
Packit 667938
	$(OBJDIR)/pngrtran.o \
Packit 667938
	$(OBJDIR)/pngrutil.o \
Packit 667938
	$(OBJDIR)/pngset.o \
Packit 667938
	$(OBJDIR)/pngtrans.o \
Packit 667938
	$(OBJDIR)/pngvcrd.o \
Packit 667938
	$(OBJDIR)/pngwio.o \
Packit 667938
	$(OBJDIR)/pngwrite.o \
Packit 667938
	$(OBJDIR)/pngwtran.o \
Packit 667938
	$(OBJDIR)/pngwutil.o \
Packit 667938
	$(EOLIST)
Packit 667938

Packit 667938
ZLIBOBJS	= \
Packit 667938
	$(OBJDIR)/adler32.o \
Packit 667938
	$(OBJDIR)/compress.o \
Packit 667938
	$(OBJDIR)/crc32.o \
Packit 667938
	$(OBJDIR)/deflate.o \
Packit 667938
	$(OBJDIR)/inflate.o \
Packit 667938
	$(OBJDIR)/inffast.o \
Packit 667938
	$(OBJDIR)/inftrees.o \
Packit 667938
	$(OBJDIR)/trees.o \
Packit 667938
	$(OBJDIR)/zutil.o \
Packit 667938
	$(EOLIST)
Packit 667938
ifeq "$(wildcard $(ZLIBSDK)/infblock.c)" "$(ZLIBSDK)/infblock.c"
Packit 667938
ZLIBOBJS	+= \
Packit 667938
	$(OBJDIR)/infblock.o \
Packit 667938
	$(OBJDIR)/infcodes.o \
Packit 667938
	$(OBJDIR)/infutil.o \
Packit 667938
	$(EOLIST)
Packit 667938
endif
Packit 667938

Packit 667938
OBJS	= $(GDOBJS) $(PNGOBJS) $(ZLIBOBJS) $(OBJDIR)/$(TARGET).o
Packit 667938

Packit 667938

Packit 667938
all: $(OBJDIR) $(OBJDIR)/$(TARGET).nlm
Packit 667938

Packit 667938
dist: all $(OBJDIR)/readme.txt
Packit 667938
	-$(RM) $(OBJDIR)/*.o $(OBJDIR)/$(TARGET).map $(OBJDIR)/$(TARGET).ncv
Packit 667938
	-$(RM) $(OBJDIR)/$(TARGET).def $(XDCDATA)
Packit 667938
	-$(RM) $(OBJDIR)/version.inc
Packit 667938
	@-$(CP) -a COPYRIGHT $(OBJDIR)
Packit 667938
	@echo Creating $(ARCHIVE)
Packit 667938
	@$(ZIP) $(ARCHIVE) $(OBJDIR)/* < $(OBJDIR)/readme.txt
Packit 667938

Packit 667938
install: all
Packit 667938
	@[ -d $(INSTDIR) ] || mkdir $(INSTDIR)
Packit 667938
	@$(CP) $(TARGET).nlm $(INSTDIR)
Packit 667938

Packit 667938
clean:
Packit 667938
	-$(RM) -r $(OBJDIR)
Packit 667938

Packit 667938
distclean: clean
Packit 667938
	-$(RM) $(ARCHIVE)
Packit 667938

Packit 667938
$(OBJDIR):
Packit 667938
	@mkdir $@
Packit 667938

Packit 667938
$(OBJDIR)/version.inc: $(TARGET).c $(OBJDIR) get_ver.awk
Packit 667938
	@echo Creating $@
Packit 667938
	@$(AWK) -f get_ver.awk $< > $@
Packit 667938

Packit 667938
$(OBJDIR)/%.o: %.c
Packit 667938
	@echo Compiling $<
Packit 667938
	@$(CC) $(CFLAGS) -c $< -o $@
Packit 667938

Packit 667938
$(OBJDIR)/$(TARGET).nlm: $(OBJDIR) $(OBJS) $(OBJDIR)/$(TARGET).def $(XDCDATA)
Packit 667938
	@echo Linking $@
Packit 667938
	@-$(RM) $@
Packit 667938
	@$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).def
Packit 667938
ifeq ($(LD),nlmconv)
Packit 667938
	@$(MV) $(TARGET).nlm $(OBJDIR)
Packit 667938
endif
Packit 667938

Packit 667938
$(OBJDIR)/%.xdc: Makefile.NetWare
Packit 667938
	@echo Creating $@
Packit 667938
	@$(MPKXDC) $(XDCOPT) $@
Packit 667938

Packit 667938
$(OBJDIR)/%.def: Makefile.NetWare $(OBJDIR)/version.inc 
Packit 667938
	@echo $(DL)# DEF Linker File for use with gcc and nlmconv$(DL) > $@
Packit 667938
	@echo $(DL)# or with Codewarrior command line compiler.$(DL) >> $@
Packit 667938
	@echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
Packit 667938
	@echo $(DL)# All your changes will be lost!!$(DL) >> $@
Packit 667938
	@echo $(DL)#$(DL) >> $@
Packit 667938
	@echo $(DL)copyright "$(COPYR)"$(DL) >> $@
Packit 667938
	@echo $(DL)description "$(DESCR)"$(DL) >> $@
Packit 667938
	@echo $(DL)version $(RATEUP_VERSION)$(DL) >> $@
Packit 667938

Packit 667938
ifdef NLMTYPE
Packit 667938
	@echo $(DL)type $(NLMTYPE)$(DL) >> $@
Packit 667938
else
Packit 667938
	@echo $(DL)type 0$(DL) >> $@
Packit 667938
endif
Packit 667938
ifdef STACK
Packit 667938
	@echo $(DL)stack $(STACK)$(DL) >> $@
Packit 667938
endif
Packit 667938
	@echo $(DL)threadname "$(TARGET)"$(DL) >> $@
Packit 667938
ifdef SCREEN
Packit 667938
	@echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
Packit 667938
else
Packit 667938
	@echo $(DL)screenname "DEFAULT"$(DL) >> $@
Packit 667938
endif
Packit 667938
ifeq ($(DB),DEBUG)
Packit 667938
	@echo $(DL)debug$(DL) >> $@
Packit 667938
endif
Packit 667938
ifeq ($(LIBARCH),CLIB)
Packit 667938
	@echo $(DL)start _Prelude$(DL) >> $@
Packit 667938
	@echo $(DL)exit _Stop$(DL) >> $@
Packit 667938
	@echo $(DL)import @$(NDK_ROOT)/nwsdk/imports/clib.imp$(DL) >> $@
Packit 667938
	@echo $(DL)import @$(NDK_ROOT)/nwsdk/imports/threads.imp$(DL) >> $@
Packit 667938
	@echo $(DL)import @$(NDK_ROOT)/nwsdk/imports/nlmlib.imp$(DL) >> $@
Packit 667938
	@echo $(DL)module clib$(DL) >> $@
Packit 667938
else
Packit 667938
	@echo $(DL)start _LibCPrelude$(DL) >> $@
Packit 667938
	@echo $(DL)exit _LibCPostlude$(DL) >> $@
Packit 667938
	@echo $(DL)check _LibCCheckUnload$(DL) >> $@
Packit 667938
	@echo $(DL)import @$(NDK_ROOT)/libc/imports/libc.imp$(DL) >> $@
Packit 667938
	@echo $(DL)import @$(NDK_ROOT)/libc/imports/netware.imp$(DL) >> $@
Packit 667938
	@echo $(DL)module libc$(DL) >> $@
Packit 667938
	@echo $(DL)pseudopreemption$(DL) >> $@
Packit 667938
	@echo $(DL)flag_on 64$(DL) >> $@
Packit 667938
endif
Packit 667938
ifeq ($(LDRING),0)
Packit 667938
	@echo $(DL)flag_on 16$(DL) >> $@
Packit 667938
endif
Packit 667938
ifeq ($(LDRING),3)
Packit 667938
	@echo $(DL)flag_on 512$(DL) >> $@
Packit 667938
endif
Packit 667938
ifdef XDCDATA
Packit 667938
	@echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
Packit 667938
endif
Packit 667938
ifeq ($(LD),nlmconv)
Packit 667938
	@echo $(DL)input $(OBJS)$(DL) >> $@
Packit 667938
	@echo $(DL)input $(PRELUDE)$(DL) >> $@
Packit 667938
	@echo $(DL)output $(TARGET).nlm$(DL) >> $@
Packit 667938
endif
Packit 667938

Packit 667938
$(OBJDIR)/readme.txt: Makefile.NetWare $(OBJDIR)/version.inc
Packit 667938
	@echo Creating $@
Packit 667938
	@echo $(DL)This is a binary distribution for NetWare platform.$(DL) > $@
Packit 667938
	@echo $(DL)MRTG rateup version $(RATEUP_VERSION_STR)$(DL) >> $@
Packit 667938
	@echo $(DL)This binary was built with these libs:$(DL) >> $@
Packit 667938
	@echo $(DL)libpng Version : $(notdir $(LIBPNG))$(DL) >> $@
Packit 667938
	@echo $(DL)libGD  Version : $(notdir $(LIBGD))$(DL) >> $@
Packit 667938
	@echo $(DL)Zlib   Version : $(notdir $(ZLIBSDK))$(DL) >> $@
Packit 667938
	@echo $(DL)Please download the complete MRTG package for$(DL) >> $@
Packit 667938
	@echo $(DL)any further documentation:$(DL) >> $@
Packit 667938
	@echo $(DL)http://www.mrtg.org/$(DL) >> $@
Packit 667938

Packit 667938
help: $(OBJDIR)/version.inc
Packit 667938
	@echo $(DL)===========================================================$(DL)
Packit 667938
	@echo $(DL)libpng Source = $(LIBPNG)$(DL)
Packit 667938
	@echo $(DL)libGD Source  = $(LIBGD)$(DL)
Packit 667938
	@echo $(DL)Zlib SDK      = $(ZLIBSDK)$(DL)
Packit 667938
	@echo $(DL)===========================================================$(DL)
Packit 667938
	@echo $(DL)RRDTool $(RATEUP_VERSION_STR) - available targets are:$(DL)
Packit 667938
	@echo $(DL)$(MAKE) all$(DL)
Packit 667938
	@echo $(DL)$(MAKE) clean$(DL)
Packit 667938
	@echo $(DL)$(MAKE) dist$(DL)
Packit 667938
	@echo $(DL)$(MAKE) distclean$(DL)
Packit 667938
	@echo $(DL)===========================================================$(DL)
Packit 667938

Packit 667938