# [Makefile wk 6.6.91] Tools
#   Copyright (c) 1991 by Werner Koch (dd9jn)
# $Id: Makefile,v 1.6 1997/03/24 19:52:08 wk Exp $
#--------------------------------------------------
# Generieren der Tools
#

# Try to get some standard macros
-include $(WKLIBS)/wklib/config.mak

ifndef PROD
D=1
endif

include $(WKLIBS)/wklib/wklib.mak

X = $(exe_dir)/
O = $(obj_dir)/
C = $(target_prefix)/common/

ifdef DEBUG
BOOT_TOOLS_CFLAGS=-DMEM_DEBUG
else
BOOT_TOOLS_CFLAGS=
endif
BOOT_TOOLS=update jntex

TOOLS := addrutil dump undump change split srcmod wc ipf2doc ll ls sleep   \
	 tee xecho ldsh global docscn npagent jnterm showtime fcounter	  \
	 symcllct update wkdutil jntex base64 timecmp encrypt makeshow

UNIX_TOOLS := srcmod ldsh update jntex wkdutil ipf2doc dump base64 encrypt \
	      makeshow

DOS_TOOLS := drc


OS2_TOOLS := drs kill


OLD_TOOLS := filestat ngsrcr filetype log cmp swsess wkcopy yell wcd



.PHONY: test world dos os2 all dos_all os2_all \
	install common boot-tools  base-boot-tools make-dirs


default: force
	@echo Need a target!
	@echo To build all tools:
	@echo	  make world
	@echo To build only one tool:
	@echo	  make buildx=stem-of-target-name

world : check-args
	$(MAKE) -C $(WKLIBS)/wklib  world
ifdef host_is_os2
	$(MAKE) PROD=1 dos
	$(MAKE) PROD=1 os2  common
else
	$(MAKE) PROD=1 unix_all common
endif
	./check-encrypt


dos :	force
	$(MAKE) CPU=i86 SYSTEM=msdos all dos_all
	$(MAKE) CPU=i386 SYSTEM=msdos all dos_all

os2 :	force
	$(MAKE) SYSTEM=os2 all os2_all


all:  $(foreach v,$(TOOLS),$X$(v)$x)

dos_all:  $(foreach v,$(DOS_TOOLS),$X$(v)$x)

os2_all:  $(foreach v,$(OS2_TOOLS),$X$(v)$x)

unix_all:  $(foreach v,$(UNIX_TOOLS),$X$(v)$x)

common: $Cldsh.cfg


boot-tools: base-boot-tools
	$(MAKE) LDSH_FLAGS=-C../ldsh.cfg HOST_BIN_DIR=.. \
		 $(addprefix $X,$(addsuffix $x,$(BOOT_TOOLS)))
	for f in $(BOOT_TOOLS); do \
	   ln -sf $(target_dir)/$$f ../$$f; \
	done

base-boot-tools: base-boot-tools.ready

base-boot-tools.ready:
	$(CC) $(BOOT_TOOLS_CFLAGS) -o ldsh ldsh.c $(wklib_dir)/libwk1$a
	$(MAKE) LDSH_FLAGS=-C./ldsh.cfg HOST_BIN_DIR=. \
		$Xldsh$x
	ln -sf src/ldsh.cfg ../ldsh.cfg
	ln -sf $(target_dir)/ldsh$x   ../ldsh
	touch base-boot-tools.ready

make-dirs:
ifdef host_is_os2
	echo Directories sollten bereits angelegt sein
else
	for f in $(target_prefix) $(target_prefix)/common \
		 $(target_prefix)/$(target) $(obj_dir); do \
	   test -d $$f || mkdir $$f; \
	done
endif

clean:
	-$(RM) *$o out out2 *.tmp base-boot-tools.ready



install:
	update README Makefile *.c *.h *.def *.asm *.doc *.cfg \
	       $(INSTALL_PATH)/tools/
	wkdutil -s $(INSTALL_PATH)  zip -ur tools.zip tools


local_install:
	update -b *.cfg WF3/*.exe c:/usr/local/
	update -b WL0/*.exe c:/bin/real/



$Cldsh.cfg : ldsh.cfg
ifdef host_is_os2
	copy ldsh.cfg $(subst /,\\,$Cldsh.cfg)
else
	cp ldsh.cfg  $Cldsh.cfg
endif


#---- end of makefile ----#
