1 #################################################################
3 ## Makefile for building curl.nlm (NetWare version - gnu make)
4 ## Use: make -f Makefile.netware
6 ## Comments to: Guenter Knauf <eflash@gmx.net>
8 #################################################################
10 # Edit the path below to point to the base of your Novell NDK.
14 # Edit the path below to point to the base of your Zlib sources.
15 ZLIB_PATH = ../../../cw/zlib-src-1.1.4
17 # Edit the vars below to change NLM target settings.
19 VERSION = $(LIBCURL_VERSION)
20 COPYR = Copyright (c) 1996 - 2004, Daniel Stenberg, <daniel@haxx.se>
21 DESCR = cURL $(LIBCURL_VERSION_STR) - http://curl.haxx.se
24 SCREEN = $(TARGET) commandline utility
26 IMPORTS = @../lib/libcurl.imp
28 # Edit the var below to point to your lib architecture.
33 # must be equal to DEBUG or NDEBUG
36 # Optimization: -O<n> or debugging: -g
45 # Include the version info retrieved from jk_version.h
46 -include $(OBJDIR)/version.inc
48 # The following line defines your compiler.
56 # if you want to mark the target as MTSAFE you will need a tool for
57 # generating the xdc data for the linker; here's a minimal tool:
58 # http://www.gknw.de/development/prgtools/mkxdc.zip
61 # Global flags for all compilers
62 CFLAGS = $(OPT) -D$(DB) -DNETWARE -nostdinc
63 CFLAGS += -DUSE_MANUAL
64 #CFLAGS += -DHAVE_LIBZ
68 LDFLAGS = -nostdlib $(PRELUDE) $(OBJDIR)/*.o -o $(OBJDIR)/$(TARGET).nlm -commandfile
69 CFLAGS += -gccinc -inline off -opt nointrinsics
70 CFLAGS += -relax_pointers
72 ifeq ($(LIBARCH),LIBC)
73 PRELUDE = $(SDK_LIBC)/imports/libcpre.o
74 CFLAGS += -align 4 -inst mmx -proc 686
75 CFLAGS += -D_POSIX_SOURCE
76 # CFLAGS += -D__ANSIC__
78 PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
79 # CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
80 CFLAGS += -align 1 -proc 586
85 CFLAGS += -fno-builtin -fpack-struct -fpcc-struct-return
86 CFLAGS += -Wall #-Wno-main # -pedantic
87 ifeq ($(LIBARCH),LIBC)
88 PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
89 CFLAGS += -D_POSIX_SOURCE
90 # CFLAGS += -D__ANSIC__
92 PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
93 CFLAGS += -include $(BASE)/nlmconv/genlm.h
99 NDK_ROOT = $(BASE)/ndk
100 SDK_CLIB = $(NDK_ROOT)/nwsdk
101 SDK_LIBC = $(NDK_ROOT)/libc
102 SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
103 CURL_INC = ../include
106 INCLUDES = -I$(CURL_INC) -I$(CURL_LIB)
107 INCLUDES += -I$(ZLIB_PATH)
109 ifeq ($(LIBARCH),LIBC)
110 INCLUDES += -I$(SDK_LIBC)/include -I$(SDK_LIBC)/include/nks
111 INCLUDES += -I$(SDK_LIBC)/include/winsock
112 INCLUDES += -I$(SDK_LDAP)/libc/inc
114 INCLUDES += -I$(SDK_CLIB)/include/nlm -I$(SDK_CLIB)/include
115 INCLUDES += -I$(SDK_LDAP)/clib/inc
116 CFLAGS += -DNETDB_USE_INTERNET
118 CFLAGS += $(INCLUDES)
121 XDCDATA = $(OBJDIR)/$(TARGET).xdc
124 ifeq ($(OSTYPE),linux)
126 -include $(BASE)/nlmconv/ncpfs.inc
131 $(OBJDIR)/hugehelp.o \
132 $(OBJDIR)/urlglob.o \
133 $(OBJDIR)/writeout.o \
134 $(OBJDIR)/getpass.o \
138 all: $(OBJDIR) $(OBJDIR)/version.inc $(OBJDIR)/$(TARGET).nlm
142 @$(CC) $(CFLAGS) -c $< -o $@
144 $(OBJDIR)/version.inc: $(CURL_INC)/curl/curl.h $(OBJDIR)
146 @awk -f ../packages/netware/get_ver.awk $< > $@
149 -$(RM) $(OBJDIR)/*.o $(OBJDIR)/$(TARGET).map $(OBJDIR)/$(TARGET).ncv
150 -$(RM) $(OBJDIR)/$(TARGET).def $(OBJDIR)/version.inc $(XDCDATA)
151 # -$(CP) ../changes.txt $(OBJDIR)/
154 @[ -d $(INSTDIR) ] || mkdir $(INSTDIR)
155 @$(CP) $(TARGET).nlm $(INSTDIR)
163 $(OBJDIR)/$(TARGET).nlm: $(OBJS) $(OBJDIR)/$(TARGET).def $(XDCDATA)
166 @$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).def
168 $(OBJDIR)/%.xdc: Makefile.netware
170 @$(MPKXDC) $(XDCOPT) $@
172 $(OBJDIR)/%.def: Makefile.netware
173 @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@
174 @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
175 @echo $(DL)# All your changes will be lost!!$(DL) >> $@
176 @echo $(DL)#$(DL) >> $@
177 @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
178 @echo $(DL)description "$(DESCR)"$(DL) >> $@
179 @echo $(DL)version $(VERSION)$(DL) >> $@
181 @echo $(DL)type $(NLMTYPE)$(DL) >> $@
184 @echo $(DL)stack $(STACK)$(DL) >> $@
187 @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
189 @echo $(DL)screenname "DEFAULT"$(DL) >> $@
192 @echo $(DL)debug$(DL) >> $@
194 @echo $(DL)threadname "$(TARGET)"$(DL) >> $@
196 @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
198 ifeq ($(LIBARCH),CLIB)
199 @echo $(DL)start _Prelude$(DL) >> $@
200 @echo $(DL)exit _Stop$(DL) >> $@
201 @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
202 @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
203 @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
204 @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
205 @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
206 @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
207 @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@
208 @echo $(DL)module clib$(DL) >> $@
211 @echo $(DL)flag_on 64$(DL) >> $@
213 @echo $(DL)autounload$(DL) >> $@
215 @echo $(DL)pseudopreemption$(DL) >> $@
216 @echo $(DL)start _LibCPrelude$(DL) >> $@
217 @echo $(DL)exit _LibCPostlude$(DL) >> $@
218 @echo $(DL)check _LibCCheckUnload$(DL) >> $@
219 @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
220 @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
221 @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
222 @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
223 @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@
224 @echo $(DL)module libc$(DL) >> $@
227 @echo $(DL)module $(MODULES)$(DL) >> $@
230 @echo $(DL)export $(EXPORTS)$(DL) >> $@
233 @echo $(DL)import $(IMPORTS)$(DL) >> $@
236 @echo $(DL)input $(OBJS)$(DL) >> $@
237 @echo $(DL)input $(PRELUDE)$(DL) >> $@
238 @echo $(DL)output $(TARGET).nlm$(DL) >> $@