added NetWare makefile.
authorGunter Knauf <gk@gknw.de>
Sat, 3 Jul 2004 21:44:32 +0000 (21:44 +0000)
committerGunter Knauf <gk@gknw.de>
Sat, 3 Jul 2004 21:44:32 +0000 (21:44 +0000)
Makefile.netware [new file with mode: 0644]

diff --git a/Makefile.netware b/Makefile.netware
new file mode 100644 (file)
index 0000000..48224fc
--- /dev/null
@@ -0,0 +1,335 @@
+#################################################################
+#
+## Makefile for building libares.lib (NetWare version - gnu make)
+## Use: make -f Makefile.netware
+##
+## Comments to: Guenter Knauf <eflash@gmx.net>
+#
+#################################################################
+
+# Edit the path below to point to the base of your Novell NDK.
+ifndef NDKBASE
+NDKBASE        = c:/novell
+endif
+
+ifndef INSTDIR
+INSTDIR        = ../curl-$(LIBCURL_VERSION_STR)-bin-nw
+endif
+
+# Edit the vars below to change NLM target settings.
+TARGET  = adig
+LTARGET = libcares
+VERSION        = $(LIBCURL_VERSION)
+COPYR  = Copyright (c) 1996 - 2004, Daniel Stenberg, <daniel@haxx.se>
+DESCR  = cURL $(TARGET) $(LIBCURL_VERSION_STR) - http://curl.haxx.se
+MTSAFE = YES
+STACK  = 64000
+SCREEN = none
+#EXPORTS       =
+# Comment the line below if you dont want to load protected automatically.
+#LDRING        = 3
+
+# Edit the var below to point to your lib architecture.
+ifndef LIBARCH
+LIBARCH = LIBC
+endif
+
+# must be equal to DEBUG or NDEBUG
+DB     = NDEBUG
+# DB   = DEBUG
+# DB   = CURLDEBUG
+# Optimization: -O<n> or debugging: -g
+ifeq ($(DB),NDEBUG)
+       OPT     = -O2
+       OBJDIR  = release
+else
+       OPT     = -g
+       OBJDIR  = debug
+endif
+
+# Include the version info retrieved from curlver.h
+-include $(OBJDIR)/version.inc
+
+# The following line defines your compiler.
+ifdef METROWERKS
+       CC = mwccnlm
+else
+       CC = gcc
+endif
+YACC   = bison -y
+CP     = cp -afv
+# RM   = rm -f
+# if you want to mark the target as MTSAFE you will need a tool for
+# generating the xdc data for the linker; here's a minimal tool:
+# http://www.gknw.com/development/prgtools/mkxdc.zip
+MPKXDC = mkxdc
+
+# Global flags for all compilers
+CFLAGS = $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc
+CFLAGS += -D_AIX
+
+ifeq ($(CC),mwccnlm)
+LD     = mwldnlm
+LDFLAGS        = -nostdlib $(PRELUDE) $(OBJDIR)/*.o -o $(OBJDIR)/$(TARGET).nlm -commandfile
+AR     = mwldnlm
+ARFLAGS        = -type library -w nocmdline $(OBJDIR)/*.o -o
+CFLAGS += -msgstyle gcc -gccinc -inline off -opt nointrinsics -proc 586
+CFLAGS += -relax_pointers
+#CFLAGS        += -w on
+ifeq ($(LIBARCH),LIBC)
+       PRELUDE = $(SDK_LIBC)/imports/libcpre.o
+       CFLAGS += -align 4
+else
+       PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
+#      CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
+       CFLAGS += -align 1
+endif
+else
+LD     = nlmconv
+LDFLAGS        = -T
+AR     = ar
+ARFLAGS        = -cq
+CFLAGS += -fno-builtin -fpack-struct -fpcc-struct-return
+CFLAGS += -Wall # -pedantic
+ifeq ($(LIBARCH),LIBC)
+       PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
+else
+       PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
+       CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
+endif
+endif
+
+LDLIBS =
+
+NDK_ROOT = $(NDKBASE)/ndk
+SDK_CLIB = $(NDK_ROOT)/nwsdk
+SDK_LIBC = $(NDK_ROOT)/libc
+SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
+
+#INCLUDES = -I. -I../include
+
+ifeq ($(LIBARCH),LIBC)
+       INCLUDES += -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks
+       INCLUDES += -I$(SDK_LIBC)/include/winsock
+       # INCLUDES += -I$(SDK_LDAP)/libc/inc
+       CFLAGS += -D_POSIX_SOURCE
+#      CFLAGS += -D__ANSIC__
+else
+       INCLUDES += -I$(SDK_CLIB)/include/nlm -I$(SDK_CLIB)/include
+       # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
+       # INCLUDES += -I$(SDK_LDAP)/clib/inc
+       CFLAGS += -DNETDB_USE_INTERNET
+endif
+CFLAGS += $(INCLUDES)
+
+ifeq ($(MTSAFE),YES)
+       XDCOPT = -n
+endif
+ifeq ($(MTSAFE),NO)
+       XDCOPT = -u
+endif
+ifdef XDCOPT
+       XDCDATA = $(OBJDIR)/$(TARGET).xdc
+endif
+
+ifeq ($(OSTYPE),linux)
+DL     = '
+#-include $(NDKBASE)/nlmconv/ncpfs.inc
+endif
+
+OBJS   := $(patsubst %.c,$(OBJDIR)/%.o,$(wildcard ares*.c))
+
+OBJNLM = $(OBJS) $(OBJDIR)/adig.o
+
+all: lib nlm
+
+lib: prebuild $(LTARGET).lib 
+
+nlm: prebuild $(TARGET).nlm 
+
+prebuild: $(OBJDIR) $(OBJDIR)/version.inc config.h arpa/nameser.h
+
+$(OBJDIR)/%.o: %.c
+#      @echo Compiling $<
+       $(CC) $(CFLAGS) -c $< -o $@
+
+$(OBJDIR)/version.inc: ../include/curl/curlver.h $(OBJDIR)
+       @echo Creating $@
+       @awk -f ../packages/NetWare/get_ver.awk $< > $@
+
+dist: all
+       -$(RM) $(OBJDIR)/*.o $(OBJDIR)/$(TARGET).map $(OBJDIR)/$(TARGET).ncv
+       -$(RM) $(OBJDIR)/$(TARGET).def $(OBJDIR)/version.inc $(XDCDATA)
+
+install: $(INSTDIR) all
+       @$(CP) $(TARGET).nlm $(INSTDIR)
+       @$(CP) ../CHANGES $(INSTDIR)
+       @$(CP) ../COPYING $(INSTDIR)
+       @$(CP) ../README $(INSTDIR)
+       @$(CP) ../RELEASE-NOTES $(INSTDIR)
+
+clean:
+       -$(RM) $(LTARGET).lib $(LTARGET).nlm config.h
+       -$(RM) -r $(OBJDIR)
+       -$(RM) -r arpa
+
+$(INSTDIR):
+       @mkdir $(INSTDIR)
+
+$(OBJDIR):
+       @mkdir $(OBJDIR)
+
+$(LTARGET).lib: $(OBJS)
+       @echo Creating $@
+       @-$(RM) $@
+       @$(AR) $(ARFLAGS) $@ $^
+
+$(TARGET).nlm: $(OBJNLM) $(OBJDIR)/$(TARGET).def $(XDCDATA)
+       @echo Linking $@
+       @-$(RM) $@
+       @$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).def
+
+$(OBJDIR)/%.xdc: Makefile.netware
+       @echo Creating $@
+       @$(MPKXDC) $(XDCOPT) $@
+
+$(OBJDIR)/%.def: Makefile.netware
+       @echo $(DL)# DEF file for linking with $(LD)$(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)copyright "$(COPYR)"$(DL) >> $@
+       @echo $(DL)description "$(DESCR)"$(DL) >> $@
+       @echo $(DL)version $(VERSION)$(DL) >> $@
+ifdef NLMTYPE
+       @echo $(DL)type $(NLMTYPE)$(DL) >> $@
+endif
+ifdef STACK
+       @echo $(DL)stack $(STACK)$(DL) >> $@
+endif
+ifdef SCREEN
+       @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
+else
+       @echo $(DL)screenname "DEFAULT"$(DL) >> $@
+endif
+ifeq ($(DB),DEBUG)
+       @echo $(DL)debug$(DL) >> $@
+endif
+       @echo $(DL)threadname "$(TARGET)"$(DL) >> $@
+ifdef XDCDATA
+       @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
+endif
+ifeq ($(LDRING),0)
+       @echo $(DL)flag_on 16$(DL) >> $@
+endif
+ifeq ($(LDRING),3)
+       @echo $(DL)flag_on 512$(DL) >> $@
+endif
+ifeq ($(LIBARCH),CLIB)
+       @echo $(DL)start _Prelude$(DL) >> $@
+       @echo $(DL)exit _Stop$(DL) >> $@
+       @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
+       @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
+       @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
+       @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
+#      @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
+#      @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
+#      @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@
+       @echo $(DL)module clib$(DL) >> $@
+else
+       @echo $(DL)flag_on 64$(DL) >> $@
+       @echo $(DL)pseudopreemption$(DL) >> $@
+       @echo $(DL)start _LibCPrelude$(DL) >> $@
+       @echo $(DL)exit _LibCPostlude$(DL) >> $@
+       @echo $(DL)check _LibCCheckUnload$(DL) >> $@
+       @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
+       @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
+#      @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
+#      @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
+#      @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@
+       @echo $(DL)module libc$(DL) >> $@
+endif
+ifdef MODULES
+       @echo $(DL)module $(MODULES)$(DL) >> $@
+endif
+ifdef EXPORTS
+       @echo $(DL)export $(EXPORTS)$(DL) >> $@
+endif
+ifdef IMPORTS
+       @echo $(DL)import $(IMPORTS)$(DL) >> $@
+endif
+ifeq ($(LD),nlmconv)
+       @echo $(DL)input $(OBJNLM)$(DL) >> $@
+       @echo $(DL)input $(PRELUDE)$(DL) >> $@
+       @echo $(DL)output $(TARGET).nlm$(DL) >> $@
+endif
+
+config.h: Makefile.netware
+       @echo Creating $@
+       @echo $(DL)/* $@ 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)#define OS "i586-pc-NetWare"$(DL) >> $@
+       @echo $(DL)#define VERSION "$(LIBCURL_VERSION_STR)"$(DL) >> $@
+       @echo $(DL)#define PACKAGE_BUGREPORT "curl-bug@haxx.se"$(DL) >> $@
+       @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@
+       @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_FCNTL_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@
+       @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
+       @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
+       @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@
+       @echo $(DL)#define HAVE_INET_NTOA 1$(DL) >> $@
+       @echo $(DL)#define HAVE_INET_PTON 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) >> $@
+       @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_NETINET_IN_H 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_SOCKET 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
+       @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_STAT_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
+       @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@
+       @echo $(DL)#define RETSIGTYPE void$(DL) >> $@
+       @echo $(DL)#define SIZEOF_CURL_OFF_T 4$(DL) >> $@
+       @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
+       @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
+ifdef NW_WINSOCK
+       @echo $(DL)#define HAVE_CLOSESOCKET 1$(DL) >> $@
+else
+       @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_SYS_SOCKET_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_SYS_SOCKIO_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_NETDB_H 1$(DL) >> $@
+endif
+ifdef OLD_NOVELLSDK
+       @echo $(DL)#define socklen_t int$(DL) >> $@
+endif
+
+arpa/nameser.h: nameser.h
+       @echo Fix missing header $@
+       @mkdir arpa
+       @$(CP) $< arpa
+
+