To compile DGD, you will have to set HOST in src/Makefile to the proper value:
NETBSD		NetBSD.  This is the default.
BSD386		FreeBSD or 386BSD.
LINUX		Linux.  Copy src/host/Makefile.sysv to src/host/Makefile.
SUNOS4		SunOS 4.x.
SOLARIS		SunOS 5.x.  Copy src/host/Makefile.sysv to src/host/Makefile,
		and in src/Makefile also set LIBS to -lsocket -lnsl
DECALPHA	DEC Alpha.  Copy src/host/Makefile.sysv to src/host/Makefile.
BEOS		BeOS.  Set LDFLAGS to -lbe -ltracker, and copy
		src/host/Makefile.beos to src/host/Makefile.
WIN32		Windows NT or Windows 95.  Follow the instructions in
		src/host/pc/README.
MACOS		Mac System 6 to 9.  Follow the instructions in
		src/host/mac/README.
GENERIC_BSD	BSD Unix.
GENERIC_SYSV	SYSV Unix.  Copy src/host/Makefile.sysv to src/host/Makefile.

For other platforms, you can either try to use the closest of the above, or add your own host support to the src/host.h file. There are some systems which are not supported directly yet, but for which porting is easy:

NeXT	use GENERIC_BSD, but in src/host/Makefile replace dirent.* by direct.*
ULTRIX	use GENERIC_BSD
AIX	use GENERIC_SYSV, but compile with -DHOST_WITH_UNSIGNED_CHAR (AIX
	characters are unsigned), also add #include  to
	src/host/unix/connect.c

Things may become more difficult if you want to port DGD to a different type of host. If you want to do your own port and you need some advice, contact me.

In general, platforms must meet the following requirements:

For each port, one should only have to modify src/host.h, the makefiles and files in the src/host directory.