2011-02-18 21:47:20 +00:00
|
|
|
# $Id$
|
|
|
|
# Build Golded+, Goldnode and RDDT using GNU make and CNU C++ compuler.
|
|
|
|
# You may use following parameters:
|
|
|
|
# "PLATFORM=xxx", where xxx specifies platform, one of:
|
|
|
|
# "cyg" - for MinGW in Cygwin,
|
|
|
|
# "lnx" - for GNU/Linux or any BSD,
|
|
|
|
# "emx" - for OS/2 EMX
|
|
|
|
# "sun" - for SunOS (Solaris)
|
|
|
|
# "osx" - for OS X
|
|
|
|
# "djg" - for DJGPP (DOS with DPMI)
|
|
|
|
# "be" - for BeOS
|
|
|
|
# BUILD=minimal Compile Golded+ with support only most popular formats of
|
|
|
|
# message bases (OPUS, Jam, Squish).
|
|
|
|
# USE_NCURSES=0 if you dislike curses library (Linux version requires to
|
|
|
|
# use curses)
|
|
|
|
# WIDE_NCURSES=1 if it is needed to use wide characters with curses library
|
|
|
|
# BUGGY_NCURSES=1 if Golded+ requires additional keypresses to pass areascan
|
|
|
|
# KOI8=1 Better koi-8 support for linux. Do not set this for
|
|
|
|
# international builds since latin-1 support will be broken.
|
|
|
|
# ICONV=1 Use iconv library for recoding text. Experimental! Do not
|
|
|
|
# set this if you don't sure!
|
2000-02-25 10:15:17 +00:00
|
|
|
|
|
|
|
include GNUmakef.def
|
2006-03-12 07:57:03 +00:00
|
|
|
include Config.def
|
2000-02-25 10:15:17 +00:00
|
|
|
|
2005-04-28 06:31:13 +00:00
|
|
|
.PHONY: all clean distclean dirs sourcelists deps docs
|
2001-05-27 19:28:13 +00:00
|
|
|
|
2011-02-18 21:47:20 +00:00
|
|
|
LIBS=gall gcui gcfg gmb3 glibc uulib smblib
|
2006-03-12 07:57:03 +00:00
|
|
|
ifneq ($(findstring GCFG_NO_MYSPELL, $(CPPFLAGS)), GCFG_NO_MYSPELL)
|
2006-04-08 04:30:32 +00:00
|
|
|
LIBS+=hunspell
|
2006-03-12 07:57:03 +00:00
|
|
|
endif
|
|
|
|
|
2000-02-25 10:15:17 +00:00
|
|
|
EXECUTABLES=golded3 goldnode rddt
|
|
|
|
|
2002-06-10 06:24:11 +00:00
|
|
|
all: sourcelists
|
2006-04-10 19:04:04 +00:00
|
|
|
@$(SHELL) -ec 'for i in $(foreach dir,$(LIBS),goldlib/$(dir)); do cd $$i; $(MAKE) all; cd ../..; done'
|
|
|
|
@$(SHELL) -ec 'for i in $(EXECUTABLES); do cd $$i; $(MAKE) all; cd ..; done'
|
|
|
|
@echo 'To build HTML man pages run "make docs".'
|
|
|
|
@echo 'To reduce binaries size (remove debug information) run "make strip".'
|
2000-02-25 10:15:17 +00:00
|
|
|
|
2002-06-10 06:24:11 +00:00
|
|
|
clean:
|
2006-04-10 19:04:04 +00:00
|
|
|
@$(SHELL) -ec 'for i in $(foreach dir,$(LIBS),goldlib/$(dir)); do cd $$i; $(MAKE) clean; cd ../..; done'
|
|
|
|
@$(SHELL) -ec 'for i in $(EXECUTABLES); do cd $$i; $(MAKE) clean; cd ..; done'
|
|
|
|
@-rm -f $(OBJPATH)/$(PLATFORM)/source.lst
|
2000-02-25 10:15:17 +00:00
|
|
|
|
2010-11-09 22:02:00 +00:00
|
|
|
distclean:
|
|
|
|
@-cd $(BIN); rm -f $(EXECUTABLES)
|
|
|
|
|
2000-02-25 10:15:17 +00:00
|
|
|
dirs:
|
2006-04-10 19:04:04 +00:00
|
|
|
@mkdir -p $(BIN) $(LIBPATH)/$(PLATFORM)
|
|
|
|
@mkdir -p $(foreach dir,$(LIBS),$(OBJPATH)/$(PLATFORM)/$(dir))
|
|
|
|
@mkdir -p $(foreach dir,$(EXECUTABLES),$(OBJPATH)/$(PLATFORM)/$(dir))
|
2001-05-27 19:28:13 +00:00
|
|
|
|
|
|
|
sourcelists: dirs
|
2006-04-10 19:04:04 +00:00
|
|
|
@$(SHELL) -ec 'for i in $(foreach dir,$(LIBS),goldlib/$(dir)); do cd $$i; $(MAKE) sourcelist; cd ../..; done'
|
|
|
|
@$(SHELL) -ec 'for i in $(EXECUTABLES); do cd $$i; $(MAKE) sourcelist; cd ..; done'
|
|
|
|
@echo -n >$(OBJPATH)/$(PLATFORM)/source.lst
|
2005-04-28 06:31:13 +00:00
|
|
|
|
|
|
|
docs:
|
2006-04-10 19:04:04 +00:00
|
|
|
@cd $@ ; $(MAKE) all ; cd ..
|
2005-08-19 21:42:23 +00:00
|
|
|
|
|
|
|
strip:
|
2006-04-10 19:04:04 +00:00
|
|
|
cd $(BIN)/ ; strip *$(PLATFORM)$(EXEEXT)
|