19bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 29bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Common defines for curl (djgpp/Watt-32) 39bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 49bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Assumes you've unpacked cURL with long-file names 59bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# I.e use "set LFN=y" before untaring on Win9x/XP. 69bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Requires sed, yacc, rm and the usual stuff. 79bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 89bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Define TOPDIR before including this file. 99bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 109bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels.SUFFIXES: .exe .y 119bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 129bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsMAKEFILE = Makefile.dj 139bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsOBJ_DIR = djgpp 149bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 159bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 16e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# Find out if using a Unix-like shell or a DOS command interpreter 179bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 189bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifneq ($(findstring COMMAND.COM,$(SHELL)),COMMAND.COM) 199bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels ifneq ($(findstring CMD.EXE,$(SHELL)),CMD.EXE) 209bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels ifneq ($(findstring 4DOS.COM,$(SHELL)),4DOS.COM) 219bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels IS_UNIX_SHELL = 1 229bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels endif 239bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels endif 249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 279bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Define shell dependent commands and vars 289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(IS_UNIX_SHELL),1) 309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels COPY = cp -f 319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels DELETE = rm -f 329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels MKDIR = mkdir 339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels RMDIR = rm -f -r 349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels DS = / 359bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelselse 369bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels COPY = copy 379bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels DELETE = del 389bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels MKDIR = mkdir 399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels RMDIR = rmdir 409bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels DS = \$(NOTHING) 419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 429bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 439bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# OpenSSL is available from www.openssl.org and builds okay 459bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# with djgpp/Watt-32. Set to 0 if you don't need https URLs 469bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# (reduces curl.exe with approx 700 kB) 479bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 489bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_SSL = 0 499bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 509bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 519bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Use zlib for contents encoding 529bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 539bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_ZLIB = 0 549bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 559bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 569bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Use libidn for international domain names 579bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 589bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_IDNA = 0 599bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 609bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 619bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Use Watt-32 IPv6 stack (only IPv6 name resolution working at the moment) 629bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 639bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_IPV6 = 0 649bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 659bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 669bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Use C-Ares resolver library 679bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 689bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_ARES = 0 699bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 709bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 719bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Enable debug code in libcurl/curl 729bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 739bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_DEBUG = 0 749bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 759bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 769bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Enable memory tracking code in libcurl/curl 779bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 789bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUSE_CURLDEBUG = 0 799bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 809bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsdefault: all 819bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 829bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 839bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# Root directory for Waterloo tcp/ip etc. Change to suite. 849bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# WATT_ROOT should be set during Watt-32 install. 859bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# 869bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsWATT32_ROOT = $(subst \,/,$(WATT_ROOT)) 879bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsOPENSSL_ROOT = e:/net/openssl.099 889bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsZLIB_ROOT = $(DJDIR)/contrib/zlib 899bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsLIBIDN_ROOT = $(TOPDIR)/../IDN/libidn 909bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsARES_ROOT = $(TOPDIR)/ares 919bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 929bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsCC = gcc 939bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsYACC = bison -y 949bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 95e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETCFLAGS = -g -O2 -I. -I$(TOPDIR)/include -I$(TOPDIR)/lib \ 969bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels -I$(WATT32_ROOT)/inc -Wall -DHAVE_CONFIG_H 979bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 989bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_SSL),1) 999bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DUSE_SSLEAY -DUSE_OPENSSL -I$(OPENSSL_ROOT) 1009bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1019bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1029bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_ZLIB),1) 1039bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DUSE_ZLIB -I$(ZLIB_ROOT) 1049bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1059bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1069bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_IPV6),1) 1079bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DENABLE_IPV6 1089bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1099bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1109bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_ARES),1) 1119bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DUSE_ARES -I$(ARES_ROOT) 1129bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1139bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1149bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_IDNA),1) 1159bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DHAVE_LIBIDN -DHAVE_IDN_FREE_H -DHAVE_IDN_FREE -DHAVE_TLD_H \ 1169bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels -DHAVE_TLD_STRERROR -I$(LIBIDN_ROOT)/lib 1179bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1189bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1199bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_DEBUG),1) 1209bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DDEBUG=1 -DDEBUGBUILD 1219bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1229bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1239bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsifeq ($(USE_CURLDEBUG),1) 1249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CFLAGS += -DCURLDEBUG 1259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsendif 1269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1279bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels$(OBJ_DIR): 1289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels $(MKDIR) $(OBJ_DIR) 1299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels$(OBJ_DIR)/%.o: %.c 1319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels $(CC) $(CFLAGS) -o $@ -c $< 1329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels @echo 1339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 1349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsdepend: $(DEPEND_PREREQ) $(MAKEFILE) 1359bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels $(CC) -MM $(CFLAGS) $(CSOURCES) | \ 1369bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels sed -e 's/^\([a-zA-Z0-9_-]*\.o:\)/$$(OBJ_DIR)\/\1/' > depend.dj 137