summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL22
-rw-r--r--Makefile43
2 files changed, 38 insertions, 27 deletions
diff --git a/INSTALL b/INSTALL
index 4df7d1a..1d1d70f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -61,17 +61,25 @@ The installation (deinstallation) process is fairly simple:
$ make
# make install
- (# make distclean)
- ($ make clean)
- (or for both at once: # make mrproper)
+ (# make uninstall)
-You can also build only a particular tool, e.g.:
+In order to remove all build files from the source tree:
+
+ $ make clean
+
+To bring the source tree into a pristine state, there are two options.
+The first one will remove all build and build config file, the latter
+will also remove any manually added files:
+
+ $ make distclean
+ ($ make mrproper)
+
+You can also build/install/uninstall only a particular tool, e.g.:
$ make trafgen
# make trafgen_install
- (# make trafgen_distclean)
- ($ make trafgen_clean)
+ (# make trafgen_uninstall)
If you want to build all tools, but {curvetun,mausezahn} (i.e. because you
don't need the tunneling software and the NaCl build process lasts quite long):
@@ -79,7 +87,7 @@ don't need the tunneling software and the NaCl build process lasts quite long):
$ make allbutcurvetun (allbutmausezahn)
# make install_allbutcurvetun (install_allbutmausezahn)
- (# make mrproper)
+ (# make uninstall)
In order to build curvetun, libnacl must be built first. A helper script
called nacl_build.sh is there to facilitate this process. If you want to
diff --git a/Makefile b/Makefile
index 930c684..dc39aa4 100644
--- a/Makefile
+++ b/Makefile
@@ -190,7 +190,7 @@ clean_showinfo:
$(YAAC) -p $(shell perl -wlne 'print $$1 if /yaac-func-prefix:\s([a-z]+)/' $<) \
-o $(BUILD_DIR)/$(shell basename $< .y).tab.c $(YAAC_FLAGS) -d $<
-.PHONY: all toolkit $(TOOLS) clean %_prehook %_distclean %_clean %_install tag tags cscope
+.PHONY: all toolkit $(TOOLS) clean %_prehook %_clean %_install %_uninstall tag tags cscope
.FORCE:
.DEFAULT_GOAL := all
.DEFAULT:
@@ -203,16 +203,18 @@ all: build_showinfo toolkit
allbutcurvetun: $(filter-out curvetun,$(TOOLS))
allbutmausezahn: $(filter-out mausezahn,$(TOOLS))
toolkit: $(TOOLS)
+clean: $(foreach tool,$(TOOLS),$(tool)_clean)
+distclean: clean
+ $(Q)$(call RM,Config)
+mrproper: distclean
+ $(Q)$(GIT_REM)
+
install: install_all
install_all: $(foreach tool,$(TOOLS),$(tool)_install)
install_allbutcurvetun: $(foreach tool,$(filter-out curvetun,$(TOOLS)),$(tool)_install)
install_allbutmausezahn: $(foreach tool,$(filter-out mausezahn,$(TOOLS)),$(tool)_install)
-clean mostlyclean: $(foreach tool,$(TOOLS),$(tool)_clean)
- $(Q)$(call RM,Config)
-realclean distclean clobber: $(foreach tool,$(TOOLS),$(tool)_distclean)
+uninstall: $(foreach tool,$(TOOLS),$(tool)_uninstall)
$(Q)$(call RMDIR,$(ETCDIRE))
-mrproper: clean distclean
- $(Q)$(GIT_REM)
define TOOL_templ
include $(1)/Makefile
@@ -226,7 +228,7 @@ define TOOL_templ
$(Q)$$(call INSTX,$(1)/$(1),$$(SBINDIR))
$(Q)$(GZIP) $(1).8 > $(1)/$(1).8.gz
$(Q)$$(call INSTX,$(1)/$(1).8.gz,$$(MAN8DIR))
- $(1)_distclean: $(1)_distclean_custom
+ $(1)_uninstall: $(1)_uninstall_custom
$(Q)$$(call RM,$$(SBINDIR)/$(1))
$(Q)$$(call RM,$$(MAN8DIR)/$(1).8.gz)
$(1)/%.yy.o: $(1)/%.yy.c
@@ -255,15 +257,6 @@ bpfc_clean_custom:
$(Q)$(call RM,$(BUILD_DIR)/*.h $(BUILD_DIR)/*.c)
trafgen_clean_custom:
$(Q)$(call RM,$(BUILD_DIR)/*.h $(BUILD_DIR)/*.c)
-netsniff-ng_distclean_custom flowtop_distclean_custom:
- $(Q)$(foreach file,$(NCONF_FILES),$(call RM,$(ETCDIRE)/$(file));)
- $(Q)$(call RMDIR,$(ETCDIRE))
-trafgen_distclean_custom:
- $(Q)$(call RM,$(ETCDIRE)/stddef.h)
- $(Q)$(call RMDIR,$(ETCDIRE))
-astraceroute_distclean_custom:
- $(Q)$(call RM,$(ETCDIRE)/geoip.conf)
- $(Q)$(call RMDIR,$(ETCDIRE))
netsniff-ng_install_custom flowtop_install_custom:
$(Q)$(foreach file,$(NCONF_FILES),$(call INST,$(file),$(ETCDIRE));)
@@ -272,6 +265,15 @@ trafgen_install_custom:
$(Q)ln -fs $(ETCDIRE)/trafgen_stddef.h $(ETCDIRE)/stddef.h
astraceroute_install_custom:
$(Q)$(call INST,geoip.conf,$(ETCDIRE))
+netsniff-ng_uninstall_custom flowtop_uninstall_custom:
+ $(Q)$(foreach file,$(NCONF_FILES),$(call RM,$(ETCDIRE)/$(file));)
+ $(Q)$(call RMDIR,$(ETCDIRE))
+trafgen_uninstall_custom:
+ $(Q)$(call RM,$(ETCDIRE)/stddef.h)
+ $(Q)$(call RMDIR,$(ETCDIRE))
+astraceroute_uninstall_custom:
+ $(Q)$(call RM,$(ETCDIRE)/geoip.conf)
+ $(Q)$(call RMDIR,$(ETCDIRE))
$(TOOLS):
$(LD) $(ALL_LDFLAGS) -o $@/$@ $@/*.o $($@-libs)
@@ -330,15 +332,16 @@ help:
$(Q)echo " allbutmausezahn - Build all except mausezahn"
$(Q)echo " <toolname> - Build only one of the tools"
$(Q)echo "$(bold)Targets for cleaning the toolkit's build files:$(normal)"
- $(Q)echo " clean|mostlyclean - Remove all build files"
+ $(Q)echo " clean - Remove all build files"
$(Q)echo " <toolname>_clean - Remove only one of the tool's files"
+ $(Q)echo " distclean - Remove all build and build config files"
+ $(Q)echo " mrproper - Remove all files not in source distribution"
$(Q)echo "$(bold)Targets for installing the toolkit:$(normal)"
$(Q)echo " install - Install the whole toolkit"
$(Q)echo " <toolname>_install - Install only one of the tools"
$(Q)echo "$(bold)Targets for removing the toolkit:$(normal)"
- $(Q)echo " realclean|distclean|clobber - Remove the whole toolkit from the system"
- $(Q)echo " <toolname>_distclean - Remove only one of the tools"
- $(Q)echo " mrproper - Remove build and install files"
+ $(Q)echo " uninstall - Remove the whole toolkit from the system"
+ $(Q)echo " <toolname>_uninstall - Remove only one of the tools"
$(Q)echo "$(bold)Hacking/development targets:$(normal)"
$(Q)echo " tag - Generate Git tag of current version"
$(Q)echo " tarball - Generate tarball of latest version"