+install: res/sim install-dirs install-bin install-res install-images \
+       install-cities install-doc install-desktop
+
+install-dirs:
+       $(INSTALL) -d $(DIRS)
+
+install-bin:
+       $(INSTALL) -m 0755 res/sim $(DESTDIR)/$(LIBEXECDIR)/sim
+       $(INSTALL) -m 0755 res/sounds/player $(DESTDIR)/$(DATADIR)/res/sounds/player
+       echo "SIMHOME=$(DATADIR); export SIMHOME" >$(DESTDIR)/$(BINDIR)/micropolis
+       echo "echo \"Starting Micropolis in \$${SIMHOME} ... \"" >>$(DESTDIR)/$(BINDIR)/micropolis
+       echo "cd $(DATADIR) && $(LIBEXECDIR)/sim \$$*" >>$(DESTDIR)/$(BINDIR)/micropolis
+       chmod 755 $(DESTDIR)/$(BINDIR)/micropolis
+
+install-res: install-res-sounds install-res-dejavu-lgc
+       for file in $(RES); do \
+               install -m 0644 $$file $(DESTDIR)/$(DATADIR)/$$file; \
+       done
+
+install-res-sounds:
+       find res/sounds -type f -name \*.wav -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(DATADIR)/res/sounds/ \;
+
+install-res-dejavu-lgc:
+       find res/dejavu-lgc -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(DATADIR)/res/dejavu-lgc/ \;
+
+install-images:
+       find images -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(DATADIR)/images/ \;
+
+install-cities:
+       find cities -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(DATADIR)/cities/ \;
+
+install-doc:
+       find manual -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(DOCDIR)/ \;
+
+install-desktop:
+       $(INSTALL) -m 0644 Micropolis.desktop $(DESTDIR)/$(APPLICATIONSDIR)/micropolis.desktop
+       $(INSTALL) -m 0644 Micropolis.png $(DESTDIR)/$(PIXMAPDIR)/micropolis.png
+
+uninstall:
+       rm -f $(DESTDIR)/$(BINDIR)/micropolis
+       rm -f $(DESTDIR)/$(LIBEXECDIR)/sim
+       -rmdir $(DESTDIR)/$(LIBEXECDIR)
+       rm -f $(DESTDIR)/$(DATADIR)/res/sounds/player
+       rm -f $(DESTDIR)/$(DATADIR)/res/sounds/*.wav
+       -rmdir $(DESTDIR)/$(DATADIR)/res/sounds
+       rm -f $(DESTDIR)/$(DATADIR)/res/dejavu-lgc/*ttf \
+               $(DESTDIR)/$(DATADIR)/res/dejavu-lgc/fonts.alias \
+               $(DESTDIR)/$(DATADIR)/res/dejavu-lgc/fonts.dir \
+               $(DESTDIR)/$(DATADIR)/res/dejavu-lgc/fonts.scale
+       -rmdir $(DESTDIR)/$(DATADIR)/res/dejavu-lgc
+       for file in $(RES); do \
+               rm $(DESTDIR)/$(DATADIR)/$$file; \
+       done
+       -rmdir $(DESTDIR)/$(DATADIR)/res
+       rm -f $(DESTDIR)/$(DATADIR)/images/*.xpm
+       -rmdir $(DESTDIR)/$(DATADIR)/images
+       rm -f $(DESTDIR)/$(DATADIR)/cities/*.cty
+       -rmdir $(DESTDIR)/$(DATADIR)/cities
+       -rmdir $(DESTDIR)/$(DATADIR)
+       rm -f $(DESTDIR)/$(DOCDIR)/*.html $(DESTDIR)/$(DOCDIR)/README
+       -rmdir $(DESTDIR)/$(DOCDIR)
+       rm -f $(DESTDIR)/$(APPLICATIONSDIR)/micropolis.desktop
+       rm -f $(DESTDIR)/$(PIXMAPDIR)/micropolis.png
+
+.PHONY: all clean install install-dirs install-bin install-res \
+       install-res-sounds install-res-dejavu-lgc install-images \
+       install-cities install-doc install-desktop uninstall tcl tk tclx sim