mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
Makefile.mk: portable Makefile.m32
Update bare GNU Make `Makefile.m32` to: - Move objects into a subdirectory. - Add support for MS-DOS. Tested with DJGPP. - Add support for Watt-32 (on MS-DOS). - Add support for AmigaOS. - Rename `Makefile.m32` to `Makefile.mk` - Replace `ARCH` with `TRIPLET`. - Build `tool_hugehelp.c` proper (when tools are available). - Drop MS-DOS compatibility macro `USE_ZLIB` (replaced by `HAVE_LIBZ`) - Add support for `ZLIB_LIBS` to override `-lz`. - Omit object files when building examples. - Default `CC` to `gcc` once again, for convenience. (Caveat: compiler name `cc` cannot be set now.) - Set `-DCURL_NO_OLDIES` for examples, like autotools does. - Delete `makefile.dj` files. Notice the configuration details and defaults are not retained with the new method. - Delete `makefile.amiga` files. A successful build needs a few custom options. We're also not retaining all build details from the existing Amiga make files. - Rename `Makefile.m32` to `Makefile.mk` to reflect that they are not Windows/MinGW32-specific anymore. - Add support for new `CFG` options: `-map`, `-debug`, `-trackmem` - Set `-DNDEBUG` by default. - Allow using `-DOS=...` in all `lib/config-*.h` headers, syncing this with `config-win32.h`. - Look for zlib parts in `ZLIB_PATH/include` and `ZLIB_PATH/lib` instead of bare `ZLIB_PATH`. Note that existing build configurations for MS-DOS and AmigaOS likely become incompatible with this change. Example AmigaOS configuration: ``` export CROSSPREFIX=/opt/amiga/bin/m68k-amigaos- export CC=gcc export CPPFLAGS='-DHAVE_PROTO_BSDSOCKET_H' export CFLAGS='-mcrt=clib2' export LDFLAGS="${CFLAGS}" export LIBS='-lnet -lm' make -C lib -f Makefile.mk make -C src -f Makefile.mk ``` Example MS-DOS configuration: ``` export CROSSPREFIX=/opt/djgpp/bin/i586-pc-msdosdjgpp- export WATT_PATH=/opt/djgpp/net/watt export ZLIB_PATH=/opt/djgpp export OPENSSL_PATH=/opt/djgpp export OPENSSL_LIBS='-lssl -lcrypt' export CFG=-zlib-ssl make -C lib -f Makefile.mk make -C src -f Makefile.mk ``` Closes #9764
This commit is contained in:
parent
4a8b4a1b66
commit
a8861b6ccd
2
.github/scripts/spellcheck.words
vendored
2
.github/scripts/spellcheck.words
vendored
@ -160,6 +160,7 @@ dir
|
|||||||
distro
|
distro
|
||||||
distro's
|
distro's
|
||||||
distros
|
distros
|
||||||
|
DJGPP
|
||||||
dlist
|
dlist
|
||||||
DLL
|
DLL
|
||||||
dll
|
dll
|
||||||
@ -226,6 +227,7 @@ FreeDOS
|
|||||||
FreeRTOS
|
FreeRTOS
|
||||||
freshmeat
|
freshmeat
|
||||||
Frexx
|
Frexx
|
||||||
|
FS
|
||||||
fseek
|
fseek
|
||||||
FTPing
|
FTPing
|
||||||
fuzzer
|
fuzzer
|
||||||
|
@ -31,25 +31,25 @@ ssl:
|
|||||||
make
|
make
|
||||||
|
|
||||||
mingw32:
|
mingw32:
|
||||||
$(MAKE) -C lib -f Makefile.m32
|
$(MAKE) -C lib -f Makefile.mk
|
||||||
$(MAKE) -C src -f Makefile.m32
|
$(MAKE) -C src -f Makefile.mk
|
||||||
|
|
||||||
mingw32-clean:
|
mingw32-clean:
|
||||||
$(MAKE) -C lib -f Makefile.m32 clean
|
$(MAKE) -C lib -f Makefile.mk clean
|
||||||
$(MAKE) -C src -f Makefile.m32 clean
|
$(MAKE) -C src -f Makefile.mk clean
|
||||||
$(MAKE) -C docs/examples -f Makefile.m32 clean
|
$(MAKE) -C docs/examples -f Makefile.mk clean
|
||||||
|
|
||||||
mingw32-vclean mingw32-distclean:
|
mingw32-vclean mingw32-distclean:
|
||||||
$(MAKE) -C lib -f Makefile.m32 vclean
|
$(MAKE) -C lib -f Makefile.mk vclean
|
||||||
$(MAKE) -C src -f Makefile.m32 vclean
|
$(MAKE) -C src -f Makefile.mk vclean
|
||||||
$(MAKE) -C docs/examples -f Makefile.m32 vclean
|
$(MAKE) -C docs/examples -f Makefile.mk vclean
|
||||||
|
|
||||||
mingw32-examples%:
|
mingw32-examples%:
|
||||||
$(MAKE) -C docs/examples -f Makefile.m32 CFG=$@
|
$(MAKE) -C docs/examples -f Makefile.mk CFG=$@
|
||||||
|
|
||||||
mingw32%:
|
mingw32%:
|
||||||
$(MAKE) -C lib -f Makefile.m32 CFG=$@
|
$(MAKE) -C lib -f Makefile.mk CFG=$@
|
||||||
$(MAKE) -C src -f Makefile.m32 CFG=$@
|
$(MAKE) -C src -f Makefile.mk CFG=$@
|
||||||
|
|
||||||
vc:
|
vc:
|
||||||
cd winbuild
|
cd winbuild
|
||||||
@ -59,9 +59,9 @@ vc-x64:
|
|||||||
cd winbuild
|
cd winbuild
|
||||||
nmake /f Makefile.vc MACHINE=x64
|
nmake /f Makefile.vc MACHINE=x64
|
||||||
|
|
||||||
djgpp:
|
djgpp%:
|
||||||
$(MAKE) -C lib -f Makefile.dj
|
$(MAKE) -C lib -f Makefile.mk CFG=$@ CROSSPREFIX=i586-pc-msdosdjgpp-
|
||||||
$(MAKE) -C src -f Makefile.dj
|
$(MAKE) -C src -f Makefile.mk CFG=$@ CROSSPREFIX=i586-pc-msdosdjgpp-
|
||||||
|
|
||||||
cygwin:
|
cygwin:
|
||||||
./configure
|
./configure
|
||||||
@ -71,9 +71,9 @@ cygwin-ssl:
|
|||||||
./configure --with-openssl
|
./configure --with-openssl
|
||||||
make
|
make
|
||||||
|
|
||||||
amiga:
|
amiga%:
|
||||||
cd ./lib && make -f makefile.amiga
|
$(MAKE) -C lib -f Makefile.mk CFG=$@ CROSSPREFIX=m68k-amigaos-
|
||||||
cd ./src && make -f makefile.amiga
|
$(MAKE) -C src -f Makefile.mk CFG=$@ CROSSPREFIX=m68k-amigaos-
|
||||||
|
|
||||||
unix: all
|
unix: all
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ make targets available to build libcurl with more features, use:
|
|||||||
and SSPI support.
|
and SSPI support.
|
||||||
|
|
||||||
If you have any problems linking libraries or finding header files, be sure
|
If you have any problems linking libraries or finding header files, be sure
|
||||||
to verify that the provided `Makefile.m32` files use the proper paths, and
|
to verify that the provided `Makefile.mk` files use the proper paths, and
|
||||||
adjust as necessary. It is also possible to override these paths with
|
adjust as necessary. It is also possible to override these paths with
|
||||||
environment variables, for example:
|
environment variables, for example:
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ set LDFLAGS=-Lc:/openldapsdk/lib/mscvc
|
|||||||
set LIBS=-lldapsdk -lldapssl -lldapx
|
set LIBS=-lldapsdk -lldapssl -lldapx
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to enable LDAPS support then set LDAPS=1.
|
If you want to enable LDAPS support then append `-ldaps` to the make target.
|
||||||
|
|
||||||
## Cygwin
|
## Cygwin
|
||||||
|
|
||||||
@ -220,6 +220,30 @@ executable in `/bin/` or you will see the configure fail toward the end.
|
|||||||
|
|
||||||
Run `make`
|
Run `make`
|
||||||
|
|
||||||
|
## MS-DOS
|
||||||
|
|
||||||
|
Requires DJGPP in the search path and pointing to the Watt-32 stack via
|
||||||
|
`WATT_PATH=c:/djgpp/net/watt`.
|
||||||
|
|
||||||
|
Run `make -f Makefile.dist djgpp` in the root curl dir.
|
||||||
|
|
||||||
|
For build configuration options, please see the MinGW32 section.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
- DJGPP 2.04 beta has a `sscanf()` bug so the URL parsing is not done
|
||||||
|
properly. Use DJGPP 2.03 until they fix it.
|
||||||
|
|
||||||
|
- Compile Watt-32 (and OpenSSL) with the same version of DJGPP. Otherwise
|
||||||
|
things go wrong because things like FS-extensions and `errno` values have
|
||||||
|
been changed between releases.
|
||||||
|
|
||||||
|
## AmigaOS
|
||||||
|
|
||||||
|
Run `make -f Makefile.dist amiga` in the root curl dir.
|
||||||
|
|
||||||
|
For build configuration options, please see the MinGW32 section.
|
||||||
|
|
||||||
## Disabling Specific Protocols in Windows builds
|
## Disabling Specific Protocols in Windows builds
|
||||||
|
|
||||||
The configure utility, unfortunately, is not available for the Windows
|
The configure utility, unfortunately, is not available for the Windows
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign nostdinc
|
AUTOMAKE_OPTIONS = foreign nostdinc
|
||||||
|
|
||||||
EXTRA_DIST = README.md Makefile.example Makefile.inc Makefile.m32 \
|
EXTRA_DIST = README.md Makefile.example Makefile.inc Makefile.mk \
|
||||||
makefile.dj $(COMPLICATED_EXAMPLES) .checksrc
|
$(COMPLICATED_EXAMPLES) .checksrc
|
||||||
|
|
||||||
# Specify our include paths here, and do it relative to $(top_srcdir) and
|
# Specify our include paths here, and do it relative to $(top_srcdir) and
|
||||||
# $(top_builddir), to ensure that these paths which belong to the library
|
# $(top_builddir), to ensure that these paths which belong to the library
|
||||||
|
@ -22,37 +22,53 @@
|
|||||||
#
|
#
|
||||||
#***************************************************************************
|
#***************************************************************************
|
||||||
|
|
||||||
# Build libcurl via lib/Makefile.m32 first.
|
# Build libcurl via lib/Makefile.mk first.
|
||||||
|
|
||||||
PROOT := ../..
|
PROOT := ../..
|
||||||
|
|
||||||
LDFLAGS += -L$(PROOT)/lib
|
|
||||||
LIBS += -lcurl
|
|
||||||
|
|
||||||
ifeq ($(findstring -static,$(CFG)),)
|
ifeq ($(findstring -static,$(CFG)),)
|
||||||
curl_DEPENDENCIES += $(PROOT)/lib/libcurl.dll.a
|
|
||||||
DYN := 1
|
DYN := 1
|
||||||
else
|
|
||||||
curl_DEPENDENCIES := $(PROOT)/lib/libcurl.a
|
|
||||||
CPPFLAGS += -DCURL_STATICLIB
|
|
||||||
LDFLAGS += -static
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LIBS += -lws2_32
|
### Common
|
||||||
|
|
||||||
|
include $(PROOT)/lib/Makefile.mk
|
||||||
|
|
||||||
|
### Local
|
||||||
|
|
||||||
|
CPPFLAGS += -DCURL_NO_OLDIES
|
||||||
|
LDFLAGS += -L$(PROOT)/lib
|
||||||
|
LIBS := -lcurl $(LIBS)
|
||||||
|
|
||||||
|
ifdef DYN
|
||||||
|
curl_DEPENDENCIES += $(PROOT)/lib/libcurl.dll.a
|
||||||
|
else
|
||||||
|
curl_DEPENDENCIES := $(PROOT)/lib/libcurl.a
|
||||||
|
ifdef WIN32
|
||||||
|
CPPFLAGS += -DCURL_STATICLIB
|
||||||
|
LDFLAGS += -static
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef WIN32
|
||||||
|
LIBS += -lws2_32
|
||||||
|
endif
|
||||||
|
|
||||||
### Sources and targets
|
### Sources and targets
|
||||||
|
|
||||||
# Provides check_PROGRAMS
|
# Provides check_PROGRAMS
|
||||||
include Makefile.inc
|
include Makefile.inc
|
||||||
|
|
||||||
TARGETS := $(patsubst %,%.exe,$(strip $(check_PROGRAMS) synctime))
|
ifdef WIN32
|
||||||
TOCLEAN := $(TARGETS:.exe=.o)
|
check_PROGRAMS += synctime
|
||||||
|
endif
|
||||||
|
|
||||||
### Local rules
|
TARGETS := $(patsubst %,%$(BIN_EXT),$(strip $(check_PROGRAMS)))
|
||||||
|
TOCLEAN := $(TARGETS)
|
||||||
|
|
||||||
%.exe: %.o $(curl_DEPENDENCIES)
|
### Rules
|
||||||
$(CC) $(LDFLAGS) $(CURL_LDFLAGS_BIN) -o $@ $< $(LIBS)
|
|
||||||
|
|
||||||
### Global script
|
%$(BIN_EXT): %.c $(curl_DEPENDENCIES)
|
||||||
|
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(CURL_LDFLAGS_BIN) $< -o $@ $(LIBS)
|
||||||
|
|
||||||
include $(PROOT)/lib/Makefile.m32
|
all: $(TARGETS)
|
@ -1,57 +0,0 @@
|
|||||||
#***************************************************************************
|
|
||||||
# _ _ ____ _
|
|
||||||
# Project ___| | | | _ \| |
|
|
||||||
# / __| | | | |_) | |
|
|
||||||
# | (__| |_| | _ <| |___
|
|
||||||
# \___|\___/|_| \_\_____|
|
|
||||||
#
|
|
||||||
# Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
||||||
#
|
|
||||||
# This software is licensed as described in the file COPYING, which
|
|
||||||
# you should have received as part of this distribution. The terms
|
|
||||||
# are also available at https://curl.se/docs/copyright.html.
|
|
||||||
#
|
|
||||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
||||||
# copies of the Software, and permit persons to whom the Software is
|
|
||||||
# furnished to do so, under the terms of the COPYING file.
|
|
||||||
#
|
|
||||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
# KIND, either express or implied.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: curl
|
|
||||||
#
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
TOPDIR = ../..
|
|
||||||
|
|
||||||
include $(TOPDIR)/packages/DOS/common.dj
|
|
||||||
|
|
||||||
CFLAGS += -DFALSE=0 -DTRUE=1
|
|
||||||
|
|
||||||
LIBS = $(TOPDIR)/lib/libcurl.a
|
|
||||||
|
|
||||||
ifeq ($(USE_SSL),1)
|
|
||||||
LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_IDNA),1)
|
|
||||||
LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv
|
|
||||||
endif
|
|
||||||
|
|
||||||
LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a
|
|
||||||
|
|
||||||
include Makefile.inc
|
|
||||||
|
|
||||||
PROGRAMS = $(patsubst %,%.exe,$(check_PROGRAMS))
|
|
||||||
|
|
||||||
all: $(PROGRAMS)
|
|
||||||
@echo Welcome to libcurl example program
|
|
||||||
|
|
||||||
%.exe: %.c
|
|
||||||
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
||||||
@echo
|
|
||||||
|
|
||||||
clean vclean realclean:
|
|
||||||
- rm -f $(PROGRAMS) depend.dj
|
|
||||||
|
|
||||||
-include depend.dj
|
|
@ -25,9 +25,9 @@ AUTOMAKE_OPTIONS = foreign nostdinc
|
|||||||
|
|
||||||
CMAKE_DIST = CMakeLists.txt curl_config.h.cmake
|
CMAKE_DIST = CMakeLists.txt curl_config.h.cmake
|
||||||
|
|
||||||
EXTRA_DIST = Makefile.m32 config-win32.h config-win32ce.h config-plan9.h \
|
EXTRA_DIST = Makefile.mk config-win32.h config-win32ce.h config-plan9.h \
|
||||||
config-riscos.h config-mac.h curl_config.h.in makefile.dj config-dos.h \
|
config-riscos.h config-mac.h curl_config.h.in config-dos.h \
|
||||||
libcurl.plist libcurl.rc config-amigaos.h makefile.amiga config-win32ce.h \
|
libcurl.plist libcurl.rc config-amigaos.h config-win32ce.h \
|
||||||
config-os400.h setup-os400.h $(CMAKE_DIST) setup-win32.h .checksrc
|
config-os400.h setup-os400.h $(CMAKE_DIST) setup-win32.h .checksrc
|
||||||
|
|
||||||
lib_LTLIBRARIES = libcurl.la
|
lib_LTLIBRARIES = libcurl.la
|
||||||
|
@ -22,89 +22,96 @@
|
|||||||
#
|
#
|
||||||
#***************************************************************************
|
#***************************************************************************
|
||||||
|
|
||||||
# Makefile for building curl parts with MinGW and optional features.
|
# Makefile to build curl parts with GCC-like toolchains and optional features.
|
||||||
#
|
#
|
||||||
# Usage: mingw32-make -f Makefile.m32 CFG=-feature1[-feature2][-feature3][...]
|
# Usage: [mingw32-]make -f Makefile.mk CFG=-feat1[-feat2][-feat3][...]
|
||||||
# Example: mingw32-make -f Makefile.m32 CFG=-zlib-ssl-sspi-winidn
|
# Example: [mingw32-]make -f Makefile.mk CFG=-zlib-ssl-libssh2-ipv6
|
||||||
#
|
#
|
||||||
# Set component roots via envvar <feature>_PATH. Also available for
|
# Set component roots via envvar <feature>_PATH. Also available for
|
||||||
# customization: CC, RC, AR, CPPFLAGS, LDFLAGS, LIBS, CFLAGS, RCFLAGS,
|
# customization: CC, AR, RC, CPPFLAGS, LDFLAGS, LIBS, CFLAGS, RCFLAGS,
|
||||||
# ARCH[=custom], CROSSPREFIX, CURL_LDFLAGS_BIN, CURL_LDFLAGS_LIB, CURL_DLL_SUFFIX,
|
# TRIPLET, CROSSPREFIX, CURL_LDFLAGS_BIN, CURL_LDFLAGS_LIB, CURL_DLL_SUFFIX,
|
||||||
# and more for individual components (see below).
|
# and more for individual components (see below).
|
||||||
|
|
||||||
# This script is reused by 'src' and 'docs/examples' Makefile.m32 scripts.
|
# This script is reused by 'src' and 'docs/examples' Makefile.mk scripts.
|
||||||
# Skip lib-specific parts when called through them.
|
|
||||||
ifndef PROOT
|
ifndef PROOT
|
||||||
PROOT := ..
|
PROOT := ..
|
||||||
|
LOCAL := 1
|
||||||
|
endif
|
||||||
|
|
||||||
CPPFLAGS += -DBUILDING_LIBCURL
|
### Common
|
||||||
|
|
||||||
### Sources and targets
|
ifeq ($(CC),cc)
|
||||||
|
CC := gcc
|
||||||
|
endif
|
||||||
|
CC := $(CROSSPREFIX)$(CC)
|
||||||
|
AR := $(CROSSPREFIX)$(AR)
|
||||||
|
RC ?= $(CROSSPREFIX)windres
|
||||||
|
|
||||||
# Provides CSOURCES, HHEADERS, LIB_RCFILES
|
# For compatibility
|
||||||
include Makefile.inc
|
ifeq ($(ARCH),w64)
|
||||||
|
TRIPLET := x86_64-w64-mingw32
|
||||||
|
CFLAGS += -m64
|
||||||
|
LDFLAGS += -m64
|
||||||
|
RCFLAGS += --target=pe-x86-64
|
||||||
|
else ifdef ARCH
|
||||||
|
TRIPLET := i686-w64-mingw32
|
||||||
|
CFLAGS += -m32
|
||||||
|
LDFLAGS += -m32
|
||||||
|
RCFLAGS += --target=pe-i386
|
||||||
|
else
|
||||||
|
TRIPLET ?= $(shell $(CC) -dumpmachine)
|
||||||
|
endif
|
||||||
|
|
||||||
libcurl_dll_LIBRARY := libcurl$(CURL_DLL_SUFFIX).dll
|
BIN_EXT := .exe
|
||||||
libcurl_dll_a_LIBRARY := libcurl.dll.a
|
|
||||||
libcurl_a_LIBRARY := libcurl.a
|
|
||||||
|
|
||||||
TARGETS := $(libcurl_a_LIBRARY) $(libcurl_dll_LIBRARY)
|
ifneq ($(findstring -w,$(TRIPLET)),)
|
||||||
|
WIN32 := 1
|
||||||
libcurl_a_OBJECTS := $(patsubst %.c,%.o,$(notdir $(strip $(CSOURCES))))
|
else ifneq ($(findstring msdos,$(TRIPLET)),)
|
||||||
libcurl_a_DEPENDENCIES := $(strip $(CSOURCES) $(HHEADERS))
|
# Cross-tools: https://github.com/andrewwutw/build-djgpp
|
||||||
libcurl_dll_OBJECTS := $(libcurl_a_OBJECTS)
|
MSDOS := 1
|
||||||
libcurl_dll_OBJECTS += $(patsubst %.rc,%.res,$(strip $(LIB_RCFILES)))
|
else ifneq ($(findstring amigaos,$(TRIPLET)),)
|
||||||
vpath %.c vauth vquic vssh vtls
|
# Cross-tools: https://github.com/bebbo/amiga-gcc
|
||||||
|
AMIGA := 1
|
||||||
TOCLEAN := $(libcurl_dll_OBJECTS)
|
|
||||||
TOVCLEAN := $(libcurl_dll_LIBRARY:.dll=.def) $(libcurl_dll_a_LIBRARY)
|
|
||||||
|
|
||||||
### Local rules
|
|
||||||
|
|
||||||
# Keep this at the top to act as the default target.
|
|
||||||
all: $(TARGETS)
|
|
||||||
|
|
||||||
$(libcurl_a_LIBRARY): $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES)
|
|
||||||
@$(call DEL, $@)
|
|
||||||
$(AR) rcs $@ $(libcurl_a_OBJECTS)
|
|
||||||
|
|
||||||
$(libcurl_dll_LIBRARY): $(libcurl_dll_OBJECTS)
|
|
||||||
$(CC) $(LDFLAGS) -shared $(CURL_LDFLAGS_LIB) -o $@ $(libcurl_dll_OBJECTS) $(LIBS) \
|
|
||||||
-Wl,--output-def,$(@:.dll=.def),--out-implib,$(libcurl_dll_a_LIBRARY)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CPPFLAGS += -I. -I$(PROOT)/include
|
CPPFLAGS += -I. -I$(PROOT)/include
|
||||||
RCFLAGS += -I$(PROOT)/include
|
RCFLAGS += -I$(PROOT)/include
|
||||||
|
|
||||||
CC := $(CROSSPREFIX)$(CC)
|
ifndef WIN32
|
||||||
AR := $(CROSSPREFIX)$(AR)
|
DYN :=
|
||||||
RC ?= $(CROSSPREFIX)windres
|
endif
|
||||||
|
|
||||||
ifneq ($(ARCH),custom)
|
ifdef AMIGA
|
||||||
# Set environment var ARCH to your architecture to override auto-detection.
|
BIN_EXT :=
|
||||||
ifndef ARCH
|
endif
|
||||||
ifneq ($(findstring x86_64,$(shell $(CC) -dumpmachine)),)
|
|
||||||
ARCH := w64
|
### Deprecated settings. For compatibility.
|
||||||
else
|
|
||||||
ARCH := w32
|
ifdef WATT_ROOT
|
||||||
endif
|
WATT_PATH := $(realpath $(WATT_ROOT))
|
||||||
endif
|
|
||||||
ifeq ($(ARCH),w64)
|
|
||||||
CFLAGS += -m64
|
|
||||||
LDFLAGS += -m64
|
|
||||||
RCFLAGS += --target=pe-x86-64
|
|
||||||
else
|
|
||||||
CFLAGS += -m32
|
|
||||||
LDFLAGS += -m32
|
|
||||||
RCFLAGS += --target=pe-i386
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
### Optional features
|
### Optional features
|
||||||
|
|
||||||
ifneq ($(findstring -unicode,$(CFG)),)
|
ifneq ($(findstring -debug,$(CFG)),)
|
||||||
CPPFLAGS += -DUNICODE -D_UNICODE
|
CPPFLAGS += -DDEBUGBUILD
|
||||||
CURL_LDFLAGS_BIN += -municode
|
LDFLAGS += -g
|
||||||
|
else
|
||||||
|
CPPFLAGS += -DNDEBUG
|
||||||
|
endif
|
||||||
|
ifneq ($(findstring -trackmem,$(CFG)),)
|
||||||
|
CPPFLAGS += -DCURLDEBUG
|
||||||
|
endif
|
||||||
|
ifneq ($(findstring -map,$(CFG)),)
|
||||||
|
MAP := 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef WIN32
|
||||||
|
ifneq ($(findstring -unicode,$(CFG)),)
|
||||||
|
CPPFLAGS += -DUNICODE -D_UNICODE
|
||||||
|
CURL_LDFLAGS_BIN += -municode
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# CPPFLAGS below are only necessary when building libcurl via 'lib' (see
|
# CPPFLAGS below are only necessary when building libcurl via 'lib' (see
|
||||||
@ -139,7 +146,9 @@ ifneq ($(findstring -ssh2,$(CFG)),)
|
|||||||
CPPFLAGS += -DUSE_LIBSSH2
|
CPPFLAGS += -DUSE_LIBSSH2
|
||||||
CPPFLAGS += -I"$(LIBSSH2_PATH)/include"
|
CPPFLAGS += -I"$(LIBSSH2_PATH)/include"
|
||||||
_LDFLAGS += -L"$(LIBSSH2_PATH)/lib"
|
_LDFLAGS += -L"$(LIBSSH2_PATH)/lib"
|
||||||
_LDFLAGS += -L"$(LIBSSH2_PATH)/win32"
|
ifdef WIN32
|
||||||
|
_LDFLAGS += -L"$(LIBSSH2_PATH)/win32"
|
||||||
|
endif
|
||||||
_LIBS += -lssh2
|
_LIBS += -lssh2
|
||||||
else ifneq ($(findstring -libssh,$(CFG)),)
|
else ifneq ($(findstring -libssh,$(CFG)),)
|
||||||
LIBSSH_PATH ?= $(PROOT)/../libssh
|
LIBSSH_PATH ?= $(PROOT)/../libssh
|
||||||
@ -232,9 +241,11 @@ ifneq ($(findstring -zlib,$(CFG))$(ZLIB),)
|
|||||||
ZLIB_PATH ?= $(PROOT)/../zlib
|
ZLIB_PATH ?= $(PROOT)/../zlib
|
||||||
# These CPPFLAGS are also required when compiling the curl tool via 'src'.
|
# These CPPFLAGS are also required when compiling the curl tool via 'src'.
|
||||||
CPPFLAGS += -DHAVE_LIBZ
|
CPPFLAGS += -DHAVE_LIBZ
|
||||||
CPPFLAGS += -I"$(ZLIB_PATH)"
|
CPPFLAGS += -I"$(ZLIB_PATH)/include"
|
||||||
_LDFLAGS += -L"$(ZLIB_PATH)"
|
_LDFLAGS += -L"$(ZLIB_PATH)/lib"
|
||||||
_LIBS += -lz
|
ZLIB_LIBS ?= -lz
|
||||||
|
_LIBS += $(ZLIB_LIBS)
|
||||||
|
ZLIB := 1
|
||||||
endif
|
endif
|
||||||
ifneq ($(findstring -zstd,$(CFG)),)
|
ifneq ($(findstring -zstd,$(CFG)),)
|
||||||
ZSTD_PATH ?= $(PROOT)/../zstd
|
ZSTD_PATH ?= $(PROOT)/../zstd
|
||||||
@ -280,7 +291,9 @@ else ifneq ($(findstring -winidn,$(CFG)),)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(findstring -sspi,$(CFG)),)
|
ifneq ($(findstring -sspi,$(CFG)),)
|
||||||
CPPFLAGS += -DUSE_WINDOWS_SSPI
|
ifdef WIN32
|
||||||
|
CPPFLAGS += -DUSE_WINDOWS_SSPI
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
ifneq ($(findstring -ipv6,$(CFG)),)
|
ifneq ($(findstring -ipv6,$(CFG)),)
|
||||||
CPPFLAGS += -DENABLE_IPV6
|
CPPFLAGS += -DENABLE_IPV6
|
||||||
@ -289,10 +302,19 @@ ifneq ($(findstring -ldaps,$(CFG)),)
|
|||||||
CPPFLAGS += -DHAVE_LDAP_SSL
|
CPPFLAGS += -DHAVE_LDAP_SSL
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(findstring -lldap,$(LIBS)),)
|
ifneq ($(findstring -watt,$(CFG))$(MSDOS),)
|
||||||
_LIBS += -lwldap32
|
WATT_PATH ?= $(PROOT)/../watt
|
||||||
|
CPPFLAGS += -I"$(WATT_PATH)/inc"
|
||||||
|
_LDFLAGS += -L"$(WATT_PATH)/lib"
|
||||||
|
_LIBS += -lwatt
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef WIN32
|
||||||
|
ifeq ($(findstring -lldap,$(LIBS)),)
|
||||||
|
_LIBS += -lwldap32
|
||||||
|
endif
|
||||||
|
_LIBS += -lws2_32 -lcrypt32 -lbcrypt
|
||||||
endif
|
endif
|
||||||
_LIBS += -lws2_32 -lcrypt32 -lbcrypt
|
|
||||||
|
|
||||||
ifneq ($(findstring 11,$(subst $() ,,$(SSLLIBS))),)
|
ifneq ($(findstring 11,$(subst $() ,,$(SSLLIBS))),)
|
||||||
CPPFLAGS += -DCURL_WITH_MULTI_SSL
|
CPPFLAGS += -DCURL_WITH_MULTI_SSL
|
||||||
@ -303,26 +325,86 @@ ifndef DYN
|
|||||||
LIBS += $(_LIBS)
|
LIBS += $(_LIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
### Global rules
|
### Common rules
|
||||||
|
|
||||||
|
OBJ_DIR := $(TRIPLET)
|
||||||
|
|
||||||
ifneq ($(findstring /sh,$(SHELL)),)
|
ifneq ($(findstring /sh,$(SHELL)),)
|
||||||
DEL = rm -f $1
|
DEL = rm -f $1
|
||||||
COPY = -cp -afv $1 $2
|
COPY = -cp -afv $1 $2
|
||||||
|
MKDIR = mkdir -p $1
|
||||||
|
RMDIR = rm -fr $1
|
||||||
|
WHICH = command -v
|
||||||
else
|
else
|
||||||
DEL = -del 2>NUL /q /f $(subst /,\,$1)
|
DEL = -del 2>NUL /q /f $(subst /,\,$1)
|
||||||
COPY = -copy 2>NUL /y $(subst /,\,$1) $(subst /,\,$2)
|
COPY = -copy 2>NUL /y $(subst /,\,$1) $(subst /,\,$2)
|
||||||
|
MKDIR = -md 2>NUL $(subst /,\,$1)
|
||||||
|
RMDIR = -rd 2>NUL /q /s $(subst /,\,$1)
|
||||||
|
WHICH = where
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: $(TARGETS)
|
all: $(TARGETS)
|
||||||
|
|
||||||
%.o: %.c
|
$(OBJ_DIR):
|
||||||
$(CC) -W -Wall $(CFLAGS) $(CPPFLAGS) -c $<
|
-$(MKDIR) $(OBJ_DIR)
|
||||||
|
|
||||||
%.res: %.rc
|
$(OBJ_DIR)/%.o: %.c
|
||||||
|
$(CC) -W -Wall $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
$(OBJ_DIR)/%.res: %.rc
|
||||||
$(RC) -O coff $(RCFLAGS) -i $< -o $@
|
$(RC) -O coff $(RCFLAGS) -i $< -o $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@$(call DEL, $(TOCLEAN))
|
@$(call DEL, $(TOCLEAN))
|
||||||
|
@$(RMDIR) $(OBJ_DIR)
|
||||||
|
|
||||||
distclean vclean: clean
|
distclean vclean: clean
|
||||||
@$(call DEL, $(TARGETS) $(TOVCLEAN))
|
@$(call DEL, $(TARGETS) $(TOVCLEAN))
|
||||||
|
|
||||||
|
### Local
|
||||||
|
|
||||||
|
ifdef LOCAL
|
||||||
|
|
||||||
|
CPPFLAGS += -DBUILDING_LIBCURL
|
||||||
|
|
||||||
|
### Sources and targets
|
||||||
|
|
||||||
|
# Provides CSOURCES, HHEADERS, LIB_RCFILES
|
||||||
|
include Makefile.inc
|
||||||
|
|
||||||
|
vpath %.c vauth vquic vssh vtls
|
||||||
|
|
||||||
|
libcurl_a_LIBRARY := libcurl.a
|
||||||
|
ifdef WIN32
|
||||||
|
libcurl_dll_LIBRARY := libcurl$(CURL_DLL_SUFFIX).dll
|
||||||
|
libcurl_dll_a_LIBRARY := libcurl.dll.a
|
||||||
|
ifdef MAP
|
||||||
|
libcurl_map_LIBRARY := libcurl$(CURL_DLL_SUFFIX).map
|
||||||
|
CURL_LDFLAGS_LIB += -Wl,-Map,$(libcurl_map_LIBRARY)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
TARGETS := $(libcurl_a_LIBRARY) $(libcurl_dll_LIBRARY)
|
||||||
|
|
||||||
|
libcurl_a_OBJECTS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(notdir $(strip $(CSOURCES))))
|
||||||
|
libcurl_a_DEPENDENCIES := $(strip $(CSOURCES) $(HHEADERS))
|
||||||
|
ifdef WIN32
|
||||||
|
libcurl_dll_OBJECTS := $(libcurl_a_OBJECTS)
|
||||||
|
libcurl_dll_OBJECTS += $(patsubst %.rc,$(OBJ_DIR)/%.res,$(strip $(LIB_RCFILES)))
|
||||||
|
endif
|
||||||
|
|
||||||
|
TOCLEAN := $(libcurl_dll_OBJECTS)
|
||||||
|
TOVCLEAN := $(libcurl_dll_LIBRARY:.dll=.def) $(libcurl_dll_a_LIBRARY) $(libcurl_map_LIBRARY)
|
||||||
|
|
||||||
|
### Rules
|
||||||
|
|
||||||
|
$(libcurl_a_LIBRARY): $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES)
|
||||||
|
@$(call DEL, $@)
|
||||||
|
$(AR) rcs $@ $(libcurl_a_OBJECTS)
|
||||||
|
|
||||||
|
$(libcurl_dll_LIBRARY): $(libcurl_dll_OBJECTS)
|
||||||
|
$(CC) $(LDFLAGS) -shared $(CURL_LDFLAGS_LIB) -o $@ $(libcurl_dll_OBJECTS) $(LIBS) \
|
||||||
|
-Wl,--output-def,$(@:.dll=.def),--out-implib,$(libcurl_dll_a_LIBRARY)
|
||||||
|
|
||||||
|
all: $(OBJ_DIR) $(TARGETS)
|
||||||
|
endif
|
@ -78,7 +78,9 @@
|
|||||||
#define USE_MANUAL 1
|
#define USE_MANUAL 1
|
||||||
#define CURL_DISABLE_LDAP 1
|
#define CURL_DISABLE_LDAP 1
|
||||||
|
|
||||||
|
#ifndef OS
|
||||||
#define OS "AmigaOS"
|
#define OS "AmigaOS"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define PACKAGE "curl"
|
#define PACKAGE "curl"
|
||||||
#define PACKAGE_BUGREPORT "a suitable mailing list: https://curl.se/mail/"
|
#define PACKAGE_BUGREPORT "a suitable mailing list: https://curl.se/mail/"
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
/* lib/config-dos.h - Hand crafted config file for DOS */
|
/* lib/config-dos.h - Hand crafted config file for DOS */
|
||||||
/* ================================================================ */
|
/* ================================================================ */
|
||||||
|
|
||||||
|
#ifndef OS
|
||||||
#if defined(DJGPP)
|
#if defined(DJGPP)
|
||||||
#define OS "MSDOS/djgpp"
|
#define OS "MSDOS/djgpp"
|
||||||
#elif defined(__HIGHC__)
|
#elif defined(__HIGHC__)
|
||||||
@ -36,9 +37,12 @@
|
|||||||
#else
|
#else
|
||||||
#define OS "MSDOS/?"
|
#define OS "MSDOS/?"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define PACKAGE "curl"
|
#define PACKAGE "curl"
|
||||||
|
|
||||||
|
#define USE_MANUAL 1
|
||||||
|
|
||||||
#define HAVE_ARPA_INET_H 1
|
#define HAVE_ARPA_INET_H 1
|
||||||
#define HAVE_ASSERT_H 1
|
#define HAVE_ASSERT_H 1
|
||||||
#define HAVE_ERRNO_H 1
|
#define HAVE_ERRNO_H 1
|
||||||
@ -104,10 +108,6 @@
|
|||||||
/* CURLDEBUG definition enables memory tracking */
|
/* CURLDEBUG definition enables memory tracking */
|
||||||
/* #define CURLDEBUG */
|
/* #define CURLDEBUG */
|
||||||
|
|
||||||
#ifdef USE_ZLIB /* Deprecated. Use HAVE_LIBZ instead. */
|
|
||||||
#define HAVE_LIBZ 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* to disable LDAP */
|
/* to disable LDAP */
|
||||||
#define CURL_DISABLE_LDAP 1
|
#define CURL_DISABLE_LDAP 1
|
||||||
|
|
||||||
|
@ -30,7 +30,9 @@
|
|||||||
/* On Mac OS X you must run configure to generate curl_config.h file */
|
/* On Mac OS X you must run configure to generate curl_config.h file */
|
||||||
/* =================================================================== */
|
/* =================================================================== */
|
||||||
|
|
||||||
|
#ifndef OS
|
||||||
#define OS "mac"
|
#define OS "mac"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Define if you want the built-in manual */
|
/* Define if you want the built-in manual */
|
||||||
#define USE_MANUAL 1
|
#define USE_MANUAL 1
|
||||||
|
@ -36,7 +36,9 @@
|
|||||||
#undef VERSION
|
#undef VERSION
|
||||||
|
|
||||||
/* Define cpu-machine-OS */
|
/* Define cpu-machine-OS */
|
||||||
|
#ifndef OS
|
||||||
#define OS "OS/400"
|
#define OS "OS/400"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* OS400 supports a 3-argument ASCII version of gethostbyaddr_r(), but its
|
/* OS400 supports a 3-argument ASCII version of gethostbyaddr_r(), but its
|
||||||
* prototype is incompatible with the "standard" one (1st argument is not
|
* prototype is incompatible with the "standard" one (1st argument is not
|
||||||
|
@ -32,7 +32,9 @@
|
|||||||
#define CURL_DISABLE_LDAP 1
|
#define CURL_DISABLE_LDAP 1
|
||||||
|
|
||||||
#define NEED_REENTRANT 1
|
#define NEED_REENTRANT 1
|
||||||
|
#ifndef OS
|
||||||
#define OS "plan9"
|
#define OS "plan9"
|
||||||
|
#endif
|
||||||
#define PACKAGE "curl"
|
#define PACKAGE "curl"
|
||||||
#define PACKAGE_NAME "curl"
|
#define PACKAGE_NAME "curl"
|
||||||
#define PACKAGE_BUGREPORT "a suitable mailing list: https://curl.se/mail/"
|
#define PACKAGE_BUGREPORT "a suitable mailing list: https://curl.se/mail/"
|
||||||
|
@ -35,7 +35,9 @@
|
|||||||
#undef VERSION
|
#undef VERSION
|
||||||
|
|
||||||
/* Define cpu-machine-OS */
|
/* Define cpu-machine-OS */
|
||||||
|
#ifndef OS
|
||||||
#define OS "ARM-RISC OS"
|
#define OS "ARM-RISC OS"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Define if you want the built-in manual */
|
/* Define if you want the built-in manual */
|
||||||
#define USE_MANUAL
|
#define USE_MANUAL
|
||||||
|
@ -635,7 +635,7 @@ Vista
|
|||||||
/* ---------------------------------------------------------------- */
|
/* ---------------------------------------------------------------- */
|
||||||
|
|
||||||
/* Define cpu-machine-OS */
|
/* Define cpu-machine-OS */
|
||||||
#if !defined(OS)
|
#ifndef OS
|
||||||
#if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
|
#if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
|
||||||
#define OS "i386-pc-win32"
|
#define OS "i386-pc-win32"
|
||||||
#elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */
|
#elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */
|
||||||
|
@ -302,8 +302,9 @@
|
|||||||
/* ---------------------------------------------------------------- */
|
/* ---------------------------------------------------------------- */
|
||||||
|
|
||||||
/* Define cpu-machine-OS */
|
/* Define cpu-machine-OS */
|
||||||
#undef OS
|
#ifndef OS
|
||||||
#define OS "i386-pc-win32ce"
|
#define OS "i386-pc-win32ce"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Name of package */
|
/* Name of package */
|
||||||
#define PACKAGE "curl"
|
#define PACKAGE "curl"
|
||||||
|
@ -112,6 +112,10 @@
|
|||||||
# include "config-plan9.h"
|
# include "config-plan9.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MSDOS
|
||||||
|
# include "config-dos.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* HAVE_CONFIG_H */
|
#endif /* HAVE_CONFIG_H */
|
||||||
|
|
||||||
/* ================================================================ */
|
/* ================================================================ */
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
#***************************************************************************
|
|
||||||
# _ _ ____ _
|
|
||||||
# Project ___| | | | _ \| |
|
|
||||||
# / __| | | | |_) | |
|
|
||||||
# | (__| |_| | _ <| |___
|
|
||||||
# \___|\___/|_| \_\_____|
|
|
||||||
#
|
|
||||||
# Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
||||||
#
|
|
||||||
# This software is licensed as described in the file COPYING, which
|
|
||||||
# you should have received as part of this distribution. The terms
|
|
||||||
# are also available at https://curl.se/docs/copyright.html.
|
|
||||||
#
|
|
||||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
||||||
# copies of the Software, and permit persons to whom the Software is
|
|
||||||
# furnished to do so, under the terms of the COPYING file.
|
|
||||||
#
|
|
||||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
# KIND, either express or implied.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: curl
|
|
||||||
#
|
|
||||||
###########################################################################
|
|
||||||
#
|
|
||||||
# libcurl Makefile for AmigaOS ...
|
|
||||||
#
|
|
||||||
|
|
||||||
# change the follow to where you have the AmiTCP SDK v4.3 includes:
|
|
||||||
|
|
||||||
ATCPSDKI= /GG/netinclude
|
|
||||||
|
|
||||||
|
|
||||||
CC = m68k-amigaos-gcc
|
|
||||||
CFLAGS = -I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall -DUSE_OPENSSL -DHAVE_LIBZ
|
|
||||||
|
|
||||||
include Makefile.inc
|
|
||||||
OBJS = $(CSOURCES:.c=.o)
|
|
||||||
|
|
||||||
all: $(OBJS)
|
|
||||||
ar cru libcurl.a $(OBJS)
|
|
||||||
ranlib libcurl.a
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -c ./libcurl.a /lib/libcurl.a
|
|
@ -1,73 +0,0 @@
|
|||||||
#***************************************************************************
|
|
||||||
# _ _ ____ _
|
|
||||||
# Project ___| | | | _ \| |
|
|
||||||
# / __| | | | |_) | |
|
|
||||||
# | (__| |_| | _ <| |___
|
|
||||||
# \___|\___/|_| \_\_____|
|
|
||||||
#
|
|
||||||
# Copyright (C) 2003 - 2022, Gisle Vanem <gvanem@yahoo.no>.
|
|
||||||
# Copyright (C) 2003 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
||||||
#
|
|
||||||
# This software is licensed as described in the file COPYING, which
|
|
||||||
# you should have received as part of this distribution. The terms
|
|
||||||
# are also available at https://curl.se/docs/copyright.html.
|
|
||||||
#
|
|
||||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
||||||
# copies of the Software, and permit persons to whom the Software is
|
|
||||||
# furnished to do so, under the terms of the COPYING file.
|
|
||||||
#
|
|
||||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
# KIND, either express or implied.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: curl
|
|
||||||
#
|
|
||||||
#***************************************************************************
|
|
||||||
|
|
||||||
#
|
|
||||||
# Adapted for djgpp2 / Watt-32 / DOS
|
|
||||||
#
|
|
||||||
|
|
||||||
DEPEND_PREREQ = curl_config.h
|
|
||||||
VPATH = vtls vauth vquic vssh
|
|
||||||
TOPDIR = ..
|
|
||||||
|
|
||||||
include ../packages/DOS/common.dj
|
|
||||||
include Makefile.inc
|
|
||||||
|
|
||||||
CFLAGS += -DBUILDING_LIBCURL
|
|
||||||
|
|
||||||
SOURCES = $(sort $(CSOURCES))
|
|
||||||
OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(SOURCES:.c=.o)))
|
|
||||||
|
|
||||||
CURL_LIB = libcurl.a
|
|
||||||
|
|
||||||
all: $(OBJ_DIR) curl_config.h $(CURL_LIB)
|
|
||||||
|
|
||||||
$(CURL_LIB): $(OBJECTS)
|
|
||||||
ar rs $@ $?
|
|
||||||
|
|
||||||
curl_config.h: config-dos.h
|
|
||||||
$(COPY) $^ $@
|
|
||||||
|
|
||||||
# clean generated files
|
|
||||||
#
|
|
||||||
genclean:
|
|
||||||
- $(DELETE) curl_config.h
|
|
||||||
|
|
||||||
# clean object files and subdir
|
|
||||||
#
|
|
||||||
objclean: genclean
|
|
||||||
- $(DELETE) $(OBJ_DIR)$(DS)*.o
|
|
||||||
- $(RMDIR) $(OBJ_DIR)
|
|
||||||
|
|
||||||
# clean without removing built library
|
|
||||||
#
|
|
||||||
clean: objclean
|
|
||||||
- $(DELETE) depend.dj
|
|
||||||
|
|
||||||
# clean everything
|
|
||||||
#
|
|
||||||
realclean vclean: clean
|
|
||||||
- $(DELETE) $(CURL_LIB)
|
|
||||||
|
|
||||||
-include depend.dj
|
|
@ -1,17 +0,0 @@
|
|||||||
Gisle Vanem made curl build fine on DOS (and MinGW) with djgpp, OpenSSL and his
|
|
||||||
Watt-32 stack.
|
|
||||||
|
|
||||||
'make -f Makefile.dist djgpp' in the root curl dir should build it fine.
|
|
||||||
Or enter 'lib' and do a 'make -f Makefile.dj clean all' to first delete
|
|
||||||
'lib/curl_config.h' which is possibly from a previous incompatible Windows-build.
|
|
||||||
|
|
||||||
Note 1: djgpp 2.04 beta has a sscanf() bug so the URL parsing isn't
|
|
||||||
done properly. Use djgpp 2.03 until they fix it.
|
|
||||||
|
|
||||||
Note 2: Compile Watt-32 (and OpenSSL) with the same version of djgpp.
|
|
||||||
Otherwise things go wrong because things like FS-extensions and
|
|
||||||
errnos have been changed between releases.
|
|
||||||
|
|
||||||
Note 3: Several 'USE_x' variables in 'common.dj' are on the 'USE_x ?= 0'
|
|
||||||
form (conditional variable assignment). So one can build like this:
|
|
||||||
c:\curl\lib> make -f makefile.dj USE_OPENSSL=1 USE_ZLIB=1 clean all
|
|
@ -1,223 +0,0 @@
|
|||||||
#***************************************************************************
|
|
||||||
# _ _ ____ _
|
|
||||||
# Project ___| | | | _ \| |
|
|
||||||
# / __| | | | |_) | |
|
|
||||||
# | (__| |_| | _ <| |___
|
|
||||||
# \___|\___/|_| \_\_____|
|
|
||||||
#
|
|
||||||
# Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
||||||
#
|
|
||||||
# This software is licensed as described in the file COPYING, which
|
|
||||||
# you should have received as part of this distribution. The terms
|
|
||||||
# are also available at https://curl.se/docs/copyright.html.
|
|
||||||
#
|
|
||||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
||||||
# copies of the Software, and permit persons to whom the Software is
|
|
||||||
# furnished to do so, under the terms of the COPYING file.
|
|
||||||
#
|
|
||||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
# KIND, either express or implied.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: curl
|
|
||||||
#
|
|
||||||
###########################################################################
|
|
||||||
#
|
|
||||||
# Common defines for curl (djgpp/Watt-32)
|
|
||||||
#
|
|
||||||
# Assumes you've unpacked curl with long-file names
|
|
||||||
# I.e use "set LFN=y" before untaring on Win9x/XP.
|
|
||||||
# Requires sed, rm and the usual stuff.
|
|
||||||
#
|
|
||||||
# Define TOPDIR before including this file.
|
|
||||||
|
|
||||||
MAKEFILE = Makefile.dj
|
|
||||||
OBJ_DIR = djgpp
|
|
||||||
|
|
||||||
#
|
|
||||||
# Find out if using a Unix-like shell or a DOS command interpreter
|
|
||||||
#
|
|
||||||
ifneq ($(findstring COMMAND.COM,$(SHELL)),COMMAND.COM)
|
|
||||||
ifneq ($(findstring CMD.EXE,$(SHELL)),CMD.EXE)
|
|
||||||
ifneq ($(findstring 4DOS.COM,$(SHELL)),4DOS.COM)
|
|
||||||
IS_UNIX_SHELL = 1
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# Define shell dependent commands and vars
|
|
||||||
#
|
|
||||||
ifeq ($(IS_UNIX_SHELL),1)
|
|
||||||
COPY = cp -f
|
|
||||||
DELETE = rm -f
|
|
||||||
MKDIR = mkdir
|
|
||||||
RMDIR = rm -f -r
|
|
||||||
DS = /
|
|
||||||
else
|
|
||||||
COPY = copy
|
|
||||||
DELETE = del
|
|
||||||
MKDIR = mkdir
|
|
||||||
RMDIR = rmdir
|
|
||||||
DS = \$(NOTHING)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
|
||||||
#
|
|
||||||
# Windows hosted djgpp cross compiler. Get it from:
|
|
||||||
# https://github.com/andrewwutw/build-djgpp/releases
|
|
||||||
#
|
|
||||||
DJ_PREFIX ?= c:/some-path/djgpp/bin/i586-pc-msdosdjgpp-
|
|
||||||
CC = $(DJ_PREFIX)gcc
|
|
||||||
|
|
||||||
else
|
|
||||||
#
|
|
||||||
# The normal djgpp 'gcc' for MSDOS.
|
|
||||||
#
|
|
||||||
CC = gcc
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_OPENSSL ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Use zlib for contents encoding. Needed for 'USE_OPENSSL=1' too.
|
|
||||||
#
|
|
||||||
USE_ZLIB ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Use libidn for international domain names
|
|
||||||
#
|
|
||||||
USE_IDNA ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Use Watt-32 IPv6 stack (only IPv6 name resolution working at the moment)
|
|
||||||
#
|
|
||||||
USE_IPV6 ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Use C-Ares resolver library
|
|
||||||
#
|
|
||||||
USE_ARES ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Enable debug code in libcurl/curl
|
|
||||||
#
|
|
||||||
USE_DEBUG ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Enable memory tracking code in libcurl/curl
|
|
||||||
#
|
|
||||||
USE_CURLDEBUG ?= 0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Generate a .map file in 'link_EXE' macro
|
|
||||||
#
|
|
||||||
MAKE_MAP_FILE ?= 0
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
#
|
|
||||||
# Root directory for Waterloo tcp/ip etc. Change to suite.
|
|
||||||
# WATT_ROOT should be set during Watt-32 install.
|
|
||||||
#
|
|
||||||
WATT32_ROOT = $(realpath $(WATT_ROOT))
|
|
||||||
OPENSSL_ROOT ?= $(TOPDIR)/../crypto/OpenSSL
|
|
||||||
ZLIB_ROOT ?= e:/djgpp/contrib/zlib
|
|
||||||
LIBIDN_ROOT ?= $(TOPDIR)/../IDN/libidn
|
|
||||||
ARES_ROOT ?= $(TOPDIR)/../DNS/c-ares
|
|
||||||
|
|
||||||
CFLAGS = -g -O2 -I. -I$(TOPDIR)/include -I$(TOPDIR)/lib \
|
|
||||||
-I$(WATT32_ROOT)/inc -Wall -DHAVE_CONFIG_H
|
|
||||||
|
|
||||||
ifeq ($(USE_OPENSSL),1)
|
|
||||||
CFLAGS += -DUSE_OPENSSL -I$(OPENSSL_ROOT)/include
|
|
||||||
|
|
||||||
#
|
|
||||||
# Squelch the warnings on deprecated functions.
|
|
||||||
#
|
|
||||||
CFLAGS += -DOPENSSL_SUPPRESS_DEPRECATED
|
|
||||||
|
|
||||||
#
|
|
||||||
# Use some of these too?
|
|
||||||
#
|
|
||||||
# CFLAGS += -DUSE_TLS_SRP=1 \
|
|
||||||
# -DHAVE_ENGINE_LOAD_BUILTIN_ENGINES \
|
|
||||||
# -DHAVE_SSLV2_CLIENT_METHOD \
|
|
||||||
# -DOPENSSL_NO_DEPRECATED
|
|
||||||
|
|
||||||
#
|
|
||||||
# 'libcomm.a' is normally 'libcommon.a'. But to keep it 8+3 clean, it's
|
|
||||||
# shortened to 'libcomm.a'. The official OpenSSL build was recently changed
|
|
||||||
# and this "Common" library was added for several of the Crypto Providers.
|
|
||||||
#
|
|
||||||
OPENSSL_LIBS = $(OPENSSL_ROOT)/lib/libssl.a \
|
|
||||||
$(OPENSSL_ROOT)/lib/libcrypt.a \
|
|
||||||
$(OPENSSL_ROOT)/lib/libcomm.a
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_ZLIB),1)
|
|
||||||
CFLAGS += -DHAVE_LIBZ -I$(ZLIB_ROOT)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_IPV6),1)
|
|
||||||
CFLAGS += -DENABLE_IPV6
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_ARES),1)
|
|
||||||
CFLAGS += -DUSE_ARES -I$(ARES_ROOT)/include
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_IDNA),1)
|
|
||||||
CFLAGS += -DHAVE_LIBIDN -I$(LIBIDN_ROOT)/lib
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_DEBUG),1)
|
|
||||||
CFLAGS += -DDEBUG=1 -DDEBUGBUILD
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_CURLDEBUG),1)
|
|
||||||
CFLAGS += -DCURLDEBUG
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(OBJ_DIR):
|
|
||||||
$(MKDIR) $(OBJ_DIR)
|
|
||||||
|
|
||||||
$(OBJ_DIR)/%.o: %.c
|
|
||||||
$(CC) $(CFLAGS) -o $@ -c $<
|
|
||||||
@echo
|
|
||||||
|
|
||||||
#
|
|
||||||
# Link-EXE macro:
|
|
||||||
# $(1): the .exe
|
|
||||||
# $(2): the .o-files and libraries
|
|
||||||
#
|
|
||||||
ifeq ($(MAKE_MAP_FILE),1)
|
|
||||||
define link_EXE
|
|
||||||
$(CC) -o $(1) $(LDFLAGS) -Wl,--print-map,--sort-common $(2) > $(1:.exe=.map)
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define link_EXE
|
|
||||||
$(CC) $(LDFLAGS) -o $(1) $(2)
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(TOPDIR)/docs/curl.1: $(wildcard $(TOPDIR)/docs/cmdline-opts/*.d)
|
|
||||||
cd $(TOPDIR)/docs/cmdline-opts; \
|
|
||||||
perl gen.pl mainpage > ../$(TOPDIR)/docs/curl.1
|
|
||||||
|
|
||||||
DEP_REPLACE = sed -e 's@\(.*\)\.o: @\n$$(OBJ_DIR)\/\1.o: @' \
|
|
||||||
-e 's@$(ARES_ROOT)@$$(ARES_ROOT)@g' \
|
|
||||||
-e 's@$(OPENSSL_ROOT)@$$(OPENSSL_ROOT)@g' \
|
|
||||||
-e 's@$(WATT32_ROOT)@$$(WATT32_ROOT)@g' \
|
|
||||||
-e 's@$(ZLIB_ROOT)@$$(ZLIB_ROOT)@g'
|
|
||||||
|
|
||||||
#
|
|
||||||
# One may have to do 'make -f Makefile.dj clean' first in case
|
|
||||||
# a foreign 'curl_config.h' is making trouble.
|
|
||||||
#
|
|
||||||
depend: $(DEPEND_PREREQ) $(MAKEFILE)
|
|
||||||
$(CC) -MM $(CFLAGS) $(CSOURCES) | $(DEP_REPLACE) > depend.dj
|
|
@ -87,8 +87,8 @@ CLEANFILES = tool_hugehelp.c
|
|||||||
# embedded text.
|
# embedded text.
|
||||||
NROFF=env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
|
NROFF=env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
|
||||||
|
|
||||||
EXTRA_DIST = mkhelp.pl makefile.dj \
|
EXTRA_DIST = mkhelp.pl \
|
||||||
Makefile.m32 makefile.amiga curl.rc Makefile.inc CMakeLists.txt
|
Makefile.mk curl.rc Makefile.inc CMakeLists.txt
|
||||||
|
|
||||||
# Use absolute directory to disable VPATH
|
# Use absolute directory to disable VPATH
|
||||||
MANPAGE=$(abs_top_builddir)/docs/curl.1
|
MANPAGE=$(abs_top_builddir)/docs/curl.1
|
||||||
|
@ -22,23 +22,36 @@
|
|||||||
#
|
#
|
||||||
#***************************************************************************
|
#***************************************************************************
|
||||||
|
|
||||||
# See usage in lib/Makefile.m32
|
# See usage in lib/Makefile.mk
|
||||||
|
|
||||||
PROOT := ..
|
PROOT := ..
|
||||||
|
|
||||||
|
### Common
|
||||||
|
|
||||||
|
include $(PROOT)/lib/Makefile.mk
|
||||||
|
|
||||||
|
### Local
|
||||||
|
|
||||||
RCFLAGS += -DCURL_EMBED_MANIFEST
|
RCFLAGS += -DCURL_EMBED_MANIFEST
|
||||||
CPPFLAGS += -I$(PROOT)/lib
|
CPPFLAGS += -I$(PROOT)/lib
|
||||||
LDFLAGS += -L$(PROOT)/lib
|
LDFLAGS += -L$(PROOT)/lib
|
||||||
LIBS += -lcurl
|
LIBS := -lcurl $(LIBS)
|
||||||
|
|
||||||
ifneq ($(findstring -dyn,$(CFG)),)
|
ifdef WIN32
|
||||||
|
ifneq ($(findstring -dyn,$(CFG)),)
|
||||||
|
DYN := 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef DYN
|
||||||
curl_DEPENDENCIES := $(PROOT)/lib/libcurl$(CURL_DLL_SUFFIX).dll
|
curl_DEPENDENCIES := $(PROOT)/lib/libcurl$(CURL_DLL_SUFFIX).dll
|
||||||
curl_DEPENDENCIES += $(PROOT)/lib/libcurl.dll.a
|
curl_DEPENDENCIES += $(PROOT)/lib/libcurl.dll.a
|
||||||
DYN := 1
|
|
||||||
else
|
else
|
||||||
curl_DEPENDENCIES := $(PROOT)/lib/libcurl.a
|
curl_DEPENDENCIES := $(PROOT)/lib/libcurl.a
|
||||||
CPPFLAGS += -DCURL_STATICLIB
|
ifdef WIN32
|
||||||
LDFLAGS += -static
|
CPPFLAGS += -DCURL_STATICLIB
|
||||||
|
LDFLAGS += -static
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
### Sources and targets
|
### Sources and targets
|
||||||
@ -46,27 +59,53 @@ endif
|
|||||||
# Provides CURL_CFILES, CURLX_CFILES, CURL_RCFILES
|
# Provides CURL_CFILES, CURLX_CFILES, CURL_RCFILES
|
||||||
include Makefile.inc
|
include Makefile.inc
|
||||||
|
|
||||||
TARGETS := curl.exe
|
TARGETS := curl$(BIN_EXT)
|
||||||
|
|
||||||
curl_OBJECTS := $(patsubst %.c,%.o,$(strip $(CURL_CFILES)))
|
CURL_CFILES += $(notdir $(CURLX_CFILES))
|
||||||
curl_OBJECTS += $(patsubst %.c,%.o,$(notdir $(strip $(CURLX_CFILES))))
|
|
||||||
curl_OBJECTS += $(patsubst %.rc,%.res,$(strip $(CURL_RCFILES)))
|
curl_OBJECTS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(strip $(CURL_CFILES)))
|
||||||
|
ifdef WIN32
|
||||||
|
curl_OBJECTS += $(patsubst %.rc,$(OBJ_DIR)/%.res,$(strip $(CURL_RCFILES)))
|
||||||
|
endif
|
||||||
|
ifdef MAP
|
||||||
|
CURL_MAP := curl.map
|
||||||
|
CURL_LDFLAGS_BIN += -Wl,-Map,$(CURL_MAP)
|
||||||
|
TOVCLEAN := $(CURL_MAP)
|
||||||
|
endif
|
||||||
vpath %.c $(PROOT)/lib
|
vpath %.c $(PROOT)/lib
|
||||||
|
|
||||||
TOCLEAN := $(curl_OBJECTS)
|
TOCLEAN := $(curl_OBJECTS)
|
||||||
ifneq ($(wildcard tool_hugehelp.c.cvs),)
|
|
||||||
TOCLEAN += tool_hugehelp.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
### Local rules
|
### Rules
|
||||||
|
|
||||||
|
ifneq ($(wildcard tool_hugehelp.c.cvs),)
|
||||||
|
PERL ?= perl
|
||||||
|
NROFF ?= groff
|
||||||
|
|
||||||
|
TOCLEAN += tool_hugehelp.c
|
||||||
|
|
||||||
|
ifneq ($(shell $(WHICH) $(NROFF)),)
|
||||||
|
$(PROOT)/docs/curl.1: $(wildcard $(PROOT)/docs/cmdline-opts/*.d)
|
||||||
|
cd $(PROOT)/docs/cmdline-opts && \
|
||||||
|
$(PERL) gen.pl mainpage $(notdir $^) > ../curl.1
|
||||||
|
|
||||||
|
# Necessary for the generated tools_hugehelp.c
|
||||||
|
CPPFLAGS += -DUSE_MANUAL
|
||||||
|
|
||||||
|
ifdef ZLIB
|
||||||
|
_MKHELPOPT += -c
|
||||||
|
endif
|
||||||
|
tool_hugehelp.c: $(PROOT)/docs/curl.1 mkhelp.pl
|
||||||
|
$(NROFF) -man -Tascii $(MANOPT) $< | \
|
||||||
|
$(PERL) mkhelp.pl $(_MKHELPOPT) $< > $@
|
||||||
|
else
|
||||||
|
tool_hugehelp.c:
|
||||||
|
@echo Creating $@
|
||||||
|
@$(call COPY, $@.cvs, $@)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
$(TARGETS): $(curl_OBJECTS) $(curl_DEPENDENCIES)
|
$(TARGETS): $(curl_OBJECTS) $(curl_DEPENDENCIES)
|
||||||
$(CC) $(LDFLAGS) $(CURL_LDFLAGS_BIN) -o $@ $(curl_OBJECTS) $(LIBS)
|
$(CC) $(LDFLAGS) $(CURL_LDFLAGS_BIN) -o $@ $(curl_OBJECTS) $(LIBS)
|
||||||
|
|
||||||
tool_hugehelp.c:
|
all: $(OBJ_DIR) $(TARGETS)
|
||||||
@echo Creating $@
|
|
||||||
@$(call COPY, $@.cvs, $@)
|
|
||||||
|
|
||||||
### Global script
|
|
||||||
|
|
||||||
include $(PROOT)/lib/Makefile.m32
|
|
@ -1,52 +0,0 @@
|
|||||||
#***************************************************************************
|
|
||||||
# _ _ ____ _
|
|
||||||
# Project ___| | | | _ \| |
|
|
||||||
# / __| | | | |_) | |
|
|
||||||
# | (__| |_| | _ <| |___
|
|
||||||
# \___|\___/|_| \_\_____|
|
|
||||||
#
|
|
||||||
# Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
||||||
#
|
|
||||||
# This software is licensed as described in the file COPYING, which
|
|
||||||
# you should have received as part of this distribution. The terms
|
|
||||||
# are also available at https://curl.se/docs/copyright.html.
|
|
||||||
#
|
|
||||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
||||||
# copies of the Software, and permit persons to whom the Software is
|
|
||||||
# furnished to do so, under the terms of the COPYING file.
|
|
||||||
#
|
|
||||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
# KIND, either express or implied.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: curl
|
|
||||||
#
|
|
||||||
###########################################################################
|
|
||||||
#
|
|
||||||
# curl Makefile for AmigaOS ...
|
|
||||||
#
|
|
||||||
|
|
||||||
# change the follow to where you have the AmiTCP SDK v4.3 includes:
|
|
||||||
|
|
||||||
ATCPSDKI= /GG/netinclude
|
|
||||||
|
|
||||||
|
|
||||||
CC = m68k-amigaos-gcc
|
|
||||||
CFLAGS = -I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall -DUSE_OPENSSL -DHAVE_LIBZ
|
|
||||||
LIBS = ../lib/libcurl.a -lssl -lcrypto -lz
|
|
||||||
MANPAGE = ../docs/curl.1
|
|
||||||
README = ../docs/MANUAL
|
|
||||||
MKHELP = ../src/mkhelp.pl
|
|
||||||
|
|
||||||
include Makefile.inc
|
|
||||||
|
|
||||||
OBJS = $(CURL_CFILES:.c=.o) $(CURLX_CFILES:.c=.o)
|
|
||||||
|
|
||||||
all: tool_hugehelp.c $(OBJS)
|
|
||||||
$(CC) $(CFLAGS) -o curl $(OBJS) $(LIBS) -Wl,-Map,curl.map,--cref
|
|
||||||
|
|
||||||
tool_hugehelp.c: $(README) $(MANPAGE) mkhelp.pl
|
|
||||||
rm -f tool_hugehelp.c
|
|
||||||
/bin/nroff -man $(MANPAGE) | /bin/perl $(MKHELP) -c $(README) > tool_hugehelp.c
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -c curl /c/curl
|
|
101
src/makefile.dj
101
src/makefile.dj
@ -1,101 +0,0 @@
|
|||||||
#***************************************************************************
|
|
||||||
# _ _ ____ _
|
|
||||||
# Project ___| | | | _ \| |
|
|
||||||
# / __| | | | |_) | |
|
|
||||||
# | (__| |_| | _ <| |___
|
|
||||||
# \___|\___/|_| \_\_____|
|
|
||||||
#
|
|
||||||
# Copyright (C) 2003 - 2022, Gisle Vanem <gvanem@yahoo.no>.
|
|
||||||
# Copyright (C) 2003 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
||||||
#
|
|
||||||
# This software is licensed as described in the file COPYING, which
|
|
||||||
# you should have received as part of this distribution. The terms
|
|
||||||
# are also available at https://curl.se/docs/copyright.html.
|
|
||||||
#
|
|
||||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
||||||
# copies of the Software, and permit persons to whom the Software is
|
|
||||||
# furnished to do so, under the terms of the COPYING file.
|
|
||||||
#
|
|
||||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
# KIND, either express or implied.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: curl
|
|
||||||
#
|
|
||||||
#***************************************************************************
|
|
||||||
|
|
||||||
#
|
|
||||||
# Adapted for djgpp2 / Watt-32 / DOS
|
|
||||||
#
|
|
||||||
|
|
||||||
DEPEND_PREREQ = # tool_hugehelp.c
|
|
||||||
|
|
||||||
TOPDIR = ..
|
|
||||||
|
|
||||||
vpath %.c ../lib
|
|
||||||
|
|
||||||
include ../packages/DOS/common.dj
|
|
||||||
include Makefile.inc
|
|
||||||
|
|
||||||
CSOURCES = $(CURL_CFILES) $(CURLX_CFILES)
|
|
||||||
|
|
||||||
ifeq ($(USE_OPENSSL),1)
|
|
||||||
EX_LIBS += $(OPENSSL_LIBS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_ARES),1)
|
|
||||||
EX_LIBS += $(ARES_ROOT)/libcares.a
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_ZLIB),1)
|
|
||||||
EX_LIBS += $(ZLIB_ROOT)/libz.a
|
|
||||||
CFLAGS += -DUSE_MANUAL
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_IDNA),1)
|
|
||||||
EX_LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv
|
|
||||||
endif
|
|
||||||
|
|
||||||
EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a
|
|
||||||
|
|
||||||
PROGRAM = curl.exe
|
|
||||||
OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(CSOURCES:.c=.o)))
|
|
||||||
|
|
||||||
all: $(OBJ_DIR) $(PROGRAM)
|
|
||||||
@echo Welcome to curl
|
|
||||||
|
|
||||||
$(PROGRAM): $(OBJECTS) ../lib/libcurl.a
|
|
||||||
$(CC) -o $@ $^ $(LDFLAGS) $(EX_LIBS)
|
|
||||||
|
|
||||||
#
|
|
||||||
# groff 1.18+ requires "-P -c"
|
|
||||||
# If 'USE_ZLIB = 1', create a compressed help-file.
|
|
||||||
#
|
|
||||||
ifeq ($(USE_ZLIB),1)
|
|
||||||
COMPRESS_OPT = -c
|
|
||||||
endif
|
|
||||||
|
|
||||||
tool_hugehelp.c: ../docs/curl.1 mkhelp.pl Makefile.dj
|
|
||||||
groff -Tascii -man $< | perl -w mkhelp.pl $(COMPRESS_OPT) $< > $@
|
|
||||||
|
|
||||||
# clean generated files
|
|
||||||
#
|
|
||||||
genclean:
|
|
||||||
- $(DELETE) tool_hugehelp.c
|
|
||||||
|
|
||||||
# clean object files and subdir
|
|
||||||
#
|
|
||||||
objclean: genclean
|
|
||||||
- $(DELETE) $(OBJ_DIR)$(DS)*.o
|
|
||||||
- $(RMDIR) $(OBJ_DIR)
|
|
||||||
|
|
||||||
# clean without removing built program
|
|
||||||
#
|
|
||||||
clean: objclean
|
|
||||||
- $(DELETE) depend.dj
|
|
||||||
|
|
||||||
# clean everything
|
|
||||||
#
|
|
||||||
realclean vclean: clean
|
|
||||||
- $(DELETE) $(PROGRAM)
|
|
||||||
|
|
||||||
-include depend.dj
|
|
Loading…
Reference in New Issue
Block a user