# # Makefile for libsocket 0.8.0's source distribution # # Copyright (C) 1997, 1998 by Indrek Mandre # Copyright (C) 1997-2000 by Richard Dawe # include Makefile.cfg default: @$(CAT) Targets.src # Inform make of phony targets .PHONY: tools library demos netsetup clean blankdep dep distclean \ install uninstall setup lib library check installvxd all all: library demos netsetup check @echo "Have you run setup (hint: make setup)?" @echo "Have you installed SOCK.VXD (hint: make installvxd)?" lib: library library: tools src $(MAKE) -C src all tools: $(MAKE) -C tools all demos: demo $(MAKE) -C demo all check: $(MAKE) -C test all # Setup program setup: netsetup setup/netsetup/netsetup netsetup: $(MAKE) -C setup/netsetup all # Build a tags file for Emacs. tags: find include src -iname '*.[ch]' -print | etags - -o $@ # Build a table for GNU id-utils. Do not index the paths in $(ID_PRUNE_PATHS). # This is mainly of benefit to the maintainer. ;) ID_PRUNE_PATHS = contrib dist doc html manifest redist old share id: ID ID: mkid --statistics -o $@ $(patsubst %,-p %,$(ID_PRUNE_PATHS)) clean: $(MAKE) -C src clean $(MAKE) -C demo clean $(MAKE) -C test clean $(MAKE) -C setup/netsetup clean $(MAKE) -C tools clean blankdep: # Create blank depend.dep files to avoid errors @echo > src/depend.dep @echo > src/oldlibc/depend.dep @echo > src/inet/depend.dep @echo > src/netgroup/depend.dep @echo > src/posix/depend.dep @echo > src/csock/depend.dep @echo > src/wsock/depend.dep @echo > src/win9x/depend.dep @echo > src/win9x/regdos/depend.dep @echo > src/win3x/depend.dep @echo > src/unix/depend.dep @echo > test/depend.dep @echo Created blank dependency files dep: blankdep # Now carry on as usual $(MAKE) -C src dep # Blank all the dependencies too distclean: blankdep $(MAKE) -C src distclean $(MAKE) -C demo distclean $(MAKE) -C setup/netsetup distclean $(MAKE) -C test distclean $(MAKE) -C tools distclean rm -f config.cache config.status config.log rm -f *.\$$\$$\$$ rm -f *~ rm -f include/*.\$$\$$\$$ rm -f include/*~ rm -f include/*/*.\$$\$$\$$ rm -f include/*/*~ rm -f lib/*.a rm -f info/*.inf rm -f doc/*.htm rm -f tags ID # Install/uninstall options install: library netsetup @echo Backing up header file "netinet/in.h" -cp $(includedir)/netinet/in.h $(includedir)/netinet/in-old.h # Let this fail if the prefix isn't $(DJDIR) -chmod a-w $(includedir)/netinet/in-old.h @echo @echo Now installing... # Netsetup binaries $(INSTALL) -d $(bindir) $(INSTALL) setup/netsetup/netsetup.exe $(bindir) # Libraries $(INSTALL) -d $(libdir) $(INSTALL) lib/libsocket.a $(libdir) # For a simple life, create a SFN version too. $(INSTALL) lib/libsocket.a $(libdir)/libsocke.a # Include files $(INSTALL) -d $(includedir)/arpa $(INSTALL) -d $(includedir)/lsck $(INSTALL) -d $(includedir)/net $(INSTALL) -d $(includedir)/netinet $(INSTALL) -d $(includedir)/sys $(INSTALL_DATA) include/*.h $(includedir) $(INSTALL_DATA) include/arpa/*.h $(includedir)/arpa $(INSTALL_DATA) include/lsck/*.h $(includedir)/lsck $(INSTALL_DATA) include/net/*.h $(includedir)/net $(INSTALL_DATA) include/netinet/*.h $(includedir)/netinet $(INSTALL_DATA) include/sys/*.h $(includedir)/sys # Info documentation $(INSTALL) -d $(infodir) $(INSTALL_DATA) info/*.inf* $(infodir) $(INSTALL_INFO) --info-file=$(infodir)/lsck.inf \ --info-dir=$(infodir) $(INSTALL_INFO) --info-file=$(infodir)/netsetup.inf \ --info-dir=$(infodir) # Distribution docs $(INSTALL) -d $(contribdir) $(INSTALL_DATA) announce.txt $(contribdir) $(INSTALL_DATA) bugs.txt $(contribdir) $(INSTALL_DATA) credits.txt $(contribdir) $(INSTALL_DATA) changes.txt $(contribdir) $(INSTALL_DATA) install.txt $(contribdir) $(INSTALL_DATA) license.txt $(contribdir) $(INSTALL_DATA) readme.txt $(contribdir) $(INSTALL) -d $(contribdir)/setup/netsetup $(INSTALL_DATA) setup/netsetup/license.txt $(contribdir)/setup/netsetup # Miscellaneous documentation $(INSTALL) -d $(contribdir)/doc $(INSTALL) -d $(contribdir)/doc/beejng $(INSTALL) -d $(contribdir)/doc/windows $(INSTALL_DATA) doc/*.* $(contribdir)/doc $(INSTALL_DATA) doc/beejng/*.* $(contribdir)/doc/beejng $(INSTALL_DATA) doc/windows/*.* $(contribdir)/doc/windows # Demos $(INSTALL) -d $(contribdir)/demo $(INSTALL) -d $(contribdir)/demo/examples $(INSTALL_DATA) demo/Makefile $(contribdir)/demo $(INSTALL_DATA) demo/readme $(contribdir)/demo $(INSTALL_DATA) demo/*.c $(contribdir)/demo $(INSTALL_DATA) demo/examples/readme $(contribdir)/demo/examples $(INSTALL_DATA) demo/examples/*.c $(contribdir)/demo/examples # Redistributable components $(INSTALL) -d $(contribdir)/redist $(INSTALL_DATA) redist/*.* $(contribdir)/redist uninstall: @echo Now uninstalling... # Netsetup binaries -rm $(bindir)/netsetup.exe # Libraries -rm $(libdir)/libsocket.a -rm $(libdir)/libsocke.a # Include files -rm $(includedir)/ioctls.h -rm $(includedir)/netdb.h -rm $(includedir)/resolv.h -rm $(includedir)/arpa/inet.h -rm $(includedir)/arpa/nameser.h -rm $(includedir)/arpa/ftp.h -rm $(includedir)/arpa/telnet.h -rm $(includedir)/arpa/tftp.h -rm $(includedir)/lsck/*.h -rm $(includedir)/net/if.h -rm $(includedir)/netinet/in.h -rm $(includedir)/sys/socket.h -rm $(includedir)/sys/uio.h -rm $(includedir)/sys/un.h -rmdir $(includedir)/arpa -rmdir $(includedir)/lsck -rmdir $(includedir)/net -rmdir $(includedir)/netinet -rmdir $(includedir)/sys # Info documentation $(INSTALL_INFO) --delete --info-file=$(infodir)/lsck.inf \ --info-dir=$(infodir) $(INSTALL_INFO) --delete --info-file=$(infodir)/netsetup.inf \ --info-dir=$(infodir) -rm $(infodir)/lsck.inf $(infodir)/netsetup.inf # Miscellaneous distribution stuff -rm -Rf $(contribdir) # Restore old headers @echo @echo Restoring header file "netinet/in.h" -cp $(includedir)/netinet/in-old.h $(includedir)/netinet/in.h -rm $(includedir)/netinet/in-old.h # Install SOCK.VXD installvxd: start /w redist/sockvxd.exe