diff options
author | Yang Tse <yangsita@gmail.com> | 2009-06-13 18:11:17 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2009-06-13 18:11:17 +0000 |
commit | 169e94d68b82d7da6a4fc06c6ec2880e3e53196b (patch) | |
tree | 8ad33248bd8f7e5e4f5f8443562891b5fc047130 | |
parent | 0cc81840571accc48781c47b2c84e32fc5445846 (diff) |
improve usability with UNIX-like shells or a DOS command interpreters
-rw-r--r-- | lib/makefile.dj | 29 | ||||
-rw-r--r-- | packages/DOS/common.dj | 36 | ||||
-rw-r--r-- | src/makefile.dj | 30 |
3 files changed, 74 insertions, 21 deletions
diff --git a/lib/makefile.dj b/lib/makefile.dj index 93bb2a812..b8d324923 100644 --- a/lib/makefile.dj +++ b/lib/makefile.dj @@ -8,16 +8,14 @@ DEPEND_PREREQ = config.h TOPDIR = .. include ../packages/DOS/common.dj - -# Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc OBJECTS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(strip $(CSOURCES))) CURL_LIB = libcurl.a -# NOTE: if ../include/curl/curlbuild.h is missing, you're probably building this -# from a CVS checkout and then you need to run buildconf.bat first! +# NOTE: if ../include/curl/curlbuild.h is missing, you're probably building +# this from a CVS checkout and then you need to run buildconf.bat first. all: $(OBJ_DIR) config.h $(CURL_LIB) @@ -25,13 +23,28 @@ $(CURL_LIB): $(OBJECTS) ar rs $@ $? config.h: config.dos - cp $^ $@ + $(COPY) $^ $@ + +# clean generated files +# +genclean: + - $(DELETE) config.h -clean: - - rm -f $(OBJECTS) +# 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 - - rm -f config.h depend.dj $(CURL_LIB) + - $(DELETE) $(CURL_LIB) -include depend.dj diff --git a/packages/DOS/common.dj b/packages/DOS/common.dj index 8ca30daea..33b7e7a89 100644 --- a/packages/DOS/common.dj +++ b/packages/DOS/common.dj @@ -14,6 +14,34 @@ 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 dependant 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 + +# # 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) @@ -85,11 +113,15 @@ ifeq ($(USE_IDNA),1) endif ifeq ($(USE_DEBUG),1) - CFLAGS += -DDEBUG=1 -DCURLDEBUG # -DDPRINTF_DEBUG2=1 + CFLAGS += -DDEBUG=1 -DDEBUGBUILD +endif + +ifeq ($(USE_CURLDEBUG),1) + CFLAGS += -DCURLDEBUG endif $(OBJ_DIR): - mkdir $(OBJ_DIR) + $(MKDIR) $(OBJ_DIR) $(OBJ_DIR)/%.o: %.c $(CC) $(CFLAGS) -o $@ -c $< diff --git a/src/makefile.dj b/src/makefile.dj index 60f13f24d..4a460bad9 100644 --- a/src/makefile.dj +++ b/src/makefile.dj @@ -39,14 +39,6 @@ CFLAGS += -DUSE_ENVIRONMENT PROGRAM = curl.exe OBJECTS += $(addprefix $(OBJ_DIR)/, $(CSOURCES:.c=.o)) -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 - all: $(OBJ_DIR) config.h $(PROGRAM) @echo Welcome to cURL @@ -67,11 +59,27 @@ hugehelp.c: ../docs/MANUAL ../docs/curl.1 mkhelp.pl groff -Tascii -man ../docs/curl.1 | \ perl -w mkhelp.pl ../docs/MANUAL > $@ -clean: - - rm -f $(OBJECTS) config.h +# clean generated files +# +genclean: + - $(DELETE) config.h + - $(DELETE) 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 - - rm -f $(PROGRAM) hugehelp.c depend.dj + - $(DELETE) $(PROGRAM) -include depend.dj |