123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #
- # c-ares Makefile for djgpp/gcc/Watt-32.
- # By Gisle Vanem <[email protected]> 2004 - 2020.
- #
- include src/lib/Makefile.inc
- CSOURCES := $(addprefix src/lib/, $(CSOURCES))
- CSOURCES := $(filter-out src/lib/windows_port.c, $(CSOURCES))
- VPATH = src/lib src/tools
- #
- # Root directory for Waterloo tcp/ip.
- # WATT_ROOT should be set during Watt-32 install.
- #
- WATT32_ROOT = $(realpath $(WATT_ROOT))
- WATT32_LIB = $(WATT32_ROOT)/lib/libwatt.a
- OBJ_DIR = djgpp
- CFLAGS = -g -O2 -I./include -I./src/lib \
- -I$(WATT32_ROOT)/inc -Wall \
- -DWATT32 -DHAVE_CONFIG_H \
- -Dselect=select_s
- LDFLAGS = -s
- 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
- OBJECTS = $(addprefix $(OBJ_DIR)/, \
- $(notdir $(CSOURCES:.c=.o)))
- GENERATED = src/lib/ares_config.h \
- include/ares_build.h
- TARGETS = libcares.a acountry.exe adig.exe ahost.exe
- .SECONDARY: $(OBJ_DIR)/ares_getopt.o
- all: $(OBJ_DIR) $(GENERATED) $(TARGETS)
- @echo Welcome to c-ares.
- libcares.a: $(OBJECTS)
- ar rs $@ $(OBJECTS)
- src/lib/ares_config.h: src/lib/config-dos.h
- cp --update $< $@
- include/ares_build.h: include/ares_build.h.dist
- cp --update $< $@
- %.exe: src/tools/%.c $(OBJ_DIR)/ares_getopt.o libcares.a
- $(call compile_and_link, $@, $^ $(WATT32_LIB))
- # Clean generated files and objects.
- #
- clean:
- - rm -f depend.dj $(GENERATED) $(OBJ_DIR)/*.o
- - rmdir $(OBJ_DIR)
- # Clean everything
- #
- realclean vclean: clean
- - rm -f $(TARGETS) $(TARGETS:.exe=.map)
- $(OBJ_DIR):
- - mkdir $@
- $(OBJ_DIR)/%.o: %.c
- $(CC) $(CFLAGS) -o $@ -c $<
- @echo
- define compile_and_link
- $(CC) -o $(1) $(CFLAGS) $(LDFLAGS) -Wl,--print-map,--sort-common $(2) > $(1:.exe=.map)
- @echo
- endef
- DEP_REPLACE = sed -e 's@\(.*\)\.o: @\n$$(OBJ_DIR)\/\1.o: @' \
- -e 's@$(WATT32_ROOT)@$$(WATT32_ROOT)@g'
- #
- # One may have to do 'make -f Makefile.dj clean' first in case
- # a foreign 'curl_config.h' is making trouble.
- #
- depend: $(GENERATED) Makefile.dj
- $(CC) -MM $(CFLAGS) $(CSOURCES) | $(DEP_REPLACE) > depend.dj
- -include depend.dj
|