# Make.mk: The real Makefile, included by GNUmakefile
#
# Known contributors to this file:
-# Markus Armbruster, 2005-2008
+# Markus Armbruster, 2005-2009
#
# This makefile was inspired by `Recursive Make Considered Harmful',
builtindir := $(datadir)/empire/builtin
einfodir := $(datadir)/empire/info.nr
ehtmldir := $(datadir)/empire/info.html
+client/w32 := arpa/inet.h netdb.h netinet/in.h sys/time.h sys/socket.h \
+sys/uio.h unistd.h w32io.c w32sockets.c w32types.h
# How to substitute Autoconf output variables
# Recursively expanded so that $@ and $< work.
ifeq ($(empthread),Windows) # really: W32, regardless of thread package
libs += lib/libw32.a
+$(client): lib/libw32.a
endif
# Cleanliness
$(ttop) $(info.nr) $(info.html) $(empth_obj) $(empth_lib)
# Removed by distclean:
distclean := $(ac) $(mk)
-# Distributed by dist-source from $(srcdir)
+# Distributed by dist-source from $(srcdir):
src_distgen := $(acdist)
-# Distributed by dist-client from $(srcdir)/src/client
+# Distributed by dist-client from $(srcdir)/src/client; removed by distclean:
cli_distgen := $(acdistcli)
# Compiler flags
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs \
-Wredundant-decls
endif
-LDLIBS += -lm
-$(client): LDLIBS += $(termlibs)
+$(client): LDLIBS := $(LIBS_client)
+$(server): LDLIBS := $(LIBS_server)
### Advertized goals
.PHONY: distclean
distclean: clean
- rm -rf $(distclean)
+ rm -rf $(distclean) $(cli_distgen)
.PHONY: install
install: all installdirs
$(client): $(filter src/client/%, $(obj)) src/lib/global/version.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
-ifeq ($(empthread),Windows)
-$(client): src/lib/w32/getopt.o
-endif
$(util): $(libs)
$(notdir $(filter src/client/%, $(src)) $(cli_distgen)) \
-C $(srcdir)/include proto.h version.h \
-C $(srcdir)/src/lib/global version.c \
- -C $(srcdir)/src/lib/w32 getopt.h getopt.c \
+ -C $(srcdir)/src/lib $(addprefix w32/, $(client/w32)) \
-C $(srcdir)/man empire.6 \
-C $(srcdir) COPYING INSTALL install-sh
cd $(dir $@) && autoheader
touch $@
-$(srcdir)/src/client/aclocal.m4: m4/lib_socket_nsl.m4
- cp -f $< $@
+$(srcdir)/src/client/aclocal.m4: m4/lib_socket_nsl.m4 m4/my_terminfo.m4 m4/my_windows_api.m4
+ cat $^ >$@