+@IFEQ $(CC) icc
+ CXXFLAGS += -Wshadow
+@ELSE
+ CXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall
+@ENDIF
+
+
+@IFEQ $(SYSTEM) linux
+ LDLIBS += -ldl
+@ELSIFEQ $(SYSTEM) solaris
+ LDLIBS += -lsocket -lnsl -lrt -lresolv
+@ELSIFEQ $(SYSTEM) sunos
+ LDLIBS += -lsocket -lnsl -lrt -lresolv
+@ELSIFEQ $(SYSTEM) darwin
+ CXXFLAGS += -DDARWIN -frtti
+ LDLIBS += -ldl
+ SHARED = -bundle -twolevel_namespace -undefined dynamic_lookup
+ CORELDFLAGS = -dynamic -bind_at_load -L.
+@ELSIFEQ $(SYSTEM) interix
+ CXXFLAGS += -D_ALL_SOURCE -I/usr/local/include
+@ENDIF
+
+@IFDEF D
+ CXXFLAGS += -g3 -Werror
+ HEADER = debug-header
+@ELSE
+ CXXFLAGS += -g1
+ HEADER = std-header
+@ENDIF
+FOOTER = finishmessage
+
+CXXFLAGS += -Iinclude
+
+@GNU_ONLY MAKEFLAGS += --no-print-directory
+
+@GNU_ONLY SOURCEPATH = $(shell /bin/pwd)
+@BSD_ONLY SOURCEPATH != /bin/pwd
+
+@IFDEF V
+ RUNCC = $(CC)
+ VERBOSE = -v
+@ELSE
+ @GNU_ONLY MAKEFLAGS += --silent
+ @BSD_ONLY MAKE += -s
+ RUNCC = perl $(SOURCEPATH)/make/run-cc.pl $(CC)
+@ENDIF
+
+@DO_EXPORT RUNCC CXXFLAGS CC LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS
+@DO_EXPORT BASE CONPATH MODPATH BINPATH SOURCEPATH BUILDPATH
+
+# Default target
+TARGET = all
+
+@IFDEF M
+ HEADER = mod-header
+ FOOTER = mod-footer
+ @BSD_ONLY TARGET = modules/${M:S/.so$//}.so
+ @GNU_ONLY TARGET = modules/$(M:.so=).so
+@ENDIF
+
+@IFDEF T
+ HEADER =
+ FOOTER = target
+ TARGET = $(T)
+@ENDIF
+
+all: $(FOOTER)
+
+target: $(HEADER)
+ $(MAKEENV) perl make/calcdep.pl
+ $(MAKEENV) $(MAKE) -C $(BUILDPATH) -f real.mk $(TARGET)