Gisle Vanem's djgpp fixes

This commit is contained in:
Daniel Stenberg 2003-12-19 08:03:48 +00:00
parent 4223f602ed
commit 4ea14b25df
2 changed files with 133 additions and 104 deletions

View File

@ -1,56 +1,74 @@
#
# Common defines for curl (djgpp/Watt-32)
#
# Assumes you've unpacked cURL with short-file names
# I.e use "set LFN=n" before untaring on Win9x/XP.
# Requires sed, yacc, rm and the usual stuff.
#
.SUFFIXES: .exe .y
MAKEFILE = Makefile.dj
#
# OpenSSL is available from www.openssl.org and builds okay
# with djgpp/Watt-32. Set to 0 if you don't need https URLs
# (reduces curl.exe with approx 700 kB)
#
USE_SSL = 1
default: all
#
# Root directory for Waterloo tcp/ip. WATT_ROOT should be set
# during Watt-32 install.
#
WATT32_ROOT = $(subst \,/,$(WATT_ROOT))
OPENSSL_ROOT = /net/openssl.098
ZLIB_ROOT = $(DJDIR)/contrib/zlib
CC = gcc
YACC = bison -y
CFLAGS = -g -O2 -I. -I../include -Wall -DHAVE_CONFIG_H
ifeq ($(USE_SSL),1)
CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H
endif
#
# Generated dependencies; Due to some hacks in gcc 2.95+ and djgpp 2.03
# we must prevent "$(DJDIR)/bin/../include/sys/version.h" from beeing
# included in dependency output (or else this makefile cannot be used on
# another machine). We therefore use a special 'specs' file during
# pre-processing.
#
MM_SPECS = $(TMPDIR)/specs
depend: $(DEPEND_PREREQ)
@echo Generating dependencies..
@copy $(MAKEFILE) Makefile.bak
@echo "*cpp: %(cpp_cpu) %{posix:-D_POSIX_SOURCE} -remap" > $(MM_SPECS)
sed -e "/^# DO NOT DELETE THIS LINE/,$$d" < Makefile.bak > $(MAKEFILE)
echo "# DO NOT DELETE THIS LINE" >> $(MAKEFILE)
$(CC) -MM -specs=$(MM_SPECS) $(CFLAGS) $(SOURCES) >> $(MAKEFILE)
rm -f $(MM_SPECS)
#
# Common defines for curl (djgpp/Watt-32)
#
# Assumes you've unpacked cURL with short-file names
# I.e use "set LFN=n" before untaring on Win9x/XP.
# Requires sed, yacc, rm and the usual stuff.
#
.SUFFIXES: .exe .y
MAKEFILE = Makefile.dj
#
# OpenSSL is available from www.openssl.org and builds okay
# with djgpp/Watt-32. Set to 0 if you don't need https URLs
# (reduces curl.exe with approx 700 kB)
#
USE_SSL = 0
#
# Use zlib for contents encoding
#
USE_ZLIB = 0
#
# Use Watt-32 IPv6 stack (only IPv6 name resolution working at the moment)
#
USE_IPV6 = 1
default: all
#
# Root directory for Waterloo tcp/ip etc. Change to suite.
# WATT_ROOT should be set during Watt-32 install.
#
WATT32_ROOT = $(subst \,/,$(WATT_ROOT))
OPENSSL_ROOT = /net/openssl.098
ZLIB_ROOT = /djgpp/contrib/zlib.121
CC = gcc
YACC = bison -y
CFLAGS = -g -O2 -I. -I../include -Wall -DHAVE_CONFIG_H -DHAVE_SPNEGO
ifeq ($(USE_SSL),1)
CFLAGS += -DUSE_SSLEAY
endif
ifeq ($(USE_ZLIB),1)
CFLAGS += -DUSE_ZLIB -I$(ZLIB_ROOT)
endif
ifeq ($(USE_IPV6),1)
CFLAGS += -DENABLE_IPV6
endif
#
# Generated dependencies; Due to some hacks in gcc 2.95+ and djgpp 2.03
# we must prevent "$(DJDIR)/bin/../include/sys/version.h" from beeing
# included in dependency output (or else this makefile cannot be used on
# another machine). We therefore use a special 'specs' file during
# pre-processing.
#
MM_SPECS = ./specs.dj
depend: $(DEPEND_PREREQ)
@echo Generating dependencies..
@copy $(MAKEFILE) Makefile.bak
@echo "*cpp: %(cpp_cpu) %{posix:-D_POSIX_SOURCE} -remap" > $(MM_SPECS)
sed -e "/^# DO NOT DELETE THIS LINE/,$$d" < Makefile.bak > $(MAKEFILE)
echo "# DO NOT DELETE THIS LINE" >> $(MAKEFILE)
$(CC) -MM -specs=$(MM_SPECS) $(CFLAGS) $(SOURCES) >> $(MAKEFILE)
rm -f $(MM_SPECS)

View File

@ -1,48 +1,59 @@
#
# Adapted for djgpp2 / Watt-32 / DOS by
# Gisle Vanem <giva@bgnett.no>
#
DEPEND_PREREQ = config.h
include ../packages/DOS/common.dj
ifeq ($(USE_SSL),1)
EX_LIBS = $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a
endif
EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a
BIN = ../curl.exe
SOURCES = hugehelp.c main.c urlglob.c writeenv.c writeout.c
OBJECTS = $(SOURCES:.c=.o)
all: config.h $(BIN)
$(BIN): $(OBJECTS) ../lib/libcurl.a
$(CC) -o $@ $^ $(EX_LIBS)
config.h:
@echo '#include "../lib/config.dj"' > $@
hugehelp.c: ../docs/curl.1
groff -man $^ | perl mkhelp.pl ../readme > $@
clean:
- rm -f $(OBJECTS) Makefile.bak config.h
vclean: clean
- rm -f $(BIN) hugehelp.c
# DO NOT DELETE THIS LINE
hugehelp.o: hugehelp.c
main.o: main.c setup.h config.h ../lib/config.dj ../include/curl/curl.h \
../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \
../include/curl/mprintf.h urlglob.h writeout.h version.h
urlglob.o: urlglob.c setup.h config.h ../lib/config.dj \
../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \
../include/curl/multi.h urlglob.h
writeenv.o: writeenv.c setup.h config.h ../lib/config.dj
writeout.o: writeout.c setup.h config.h ../lib/config.dj \
../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \
../include/curl/multi.h ../include/curl/mprintf.h writeout.h
#
# Adapted for djgpp2 / Watt-32 / DOS by
# Gisle Vanem <giva@bgnett.no>
#
DEPEND_PREREQ = config.h hugehelp.c
include ../packages/DOS/common.dj
ifeq ($(USE_SSL),1)
EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a
endif
ifeq ($(USE_ZLIB),1)
EX_LIBS += $(ZLIB_ROOT)/libz.a
endif
EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a
PROGRAM = ../curl.exe
SOURCES = getpass.c homedir.c hugehelp.c main.c urlglob.c writeenv.c writeout.c
OBJECTS = $(SOURCES:.c=.o)
all: config.h $(PROGRAM)
$(PROGRAM): $(OBJECTS) ../lib/libcurl.a
$(CC) -o $@ $^ $(EX_LIBS)
config.h:
@echo '#include "../lib/config.dj"' > $@
#
# groff 1.18+ requires "-P -c"
#
hugehelp.c: ../docs/MANUAL ../docs/curl.1 mkhelp.pl
groff -Tascii -man ../docs/curl.1 | \
perl -w mkhelp.pl ../docs/MANUAL ../readme > $@
clean:
- rm -f $(OBJECTS) Makefile.bak config.h
realclean vclean: clean
- rm -f $(PROGRAM) hugehelp.c
# DO NOT DELETE THIS LINE
getpass.o: getpass.c setup.h config.h ../lib/config.dj
homedir.o: homedir.c setup.h config.h ../lib/config.dj
hugehelp.o: hugehelp.c
main.o: main.c setup.h config.h ../lib/config.dj ../include/curl/curl.h \
../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \
../include/curl/mprintf.h urlglob.h writeout.h getpass.h homedir.h \
version.h
urlglob.o: urlglob.c setup.h config.h ../lib/config.dj \
../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \
../include/curl/multi.h ../include/curl/mprintf.h urlglob.h
writeenv.o: writeenv.c setup.h config.h ../lib/config.dj
writeout.o: writeout.c setup.h config.h ../lib/config.dj \
../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \
../include/curl/multi.h ../include/curl/mprintf.h writeout.h