Fix for hg: do not remove anything in .hg with 'make uberclean'
[olsrd.git] / lib / Makefile
index a1cfb6e..0b0dc71 100644 (file)
@@ -1,69 +1,19 @@
-
-REALOS = $(OS)
-
-ifeq ($(OS), linux)
-
-all:           subdirs
-install:        subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure tas
-
-else
-ifeq ($(OS), win32)
-
-all:           subdirs
-install:        subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure tas
-
-else
-ifeq ($(OS), fbsd)
-
-all:           subdirs
-install:        subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure
-
+# This is quite ugly but at least it works
+ifeq ($(OS),linux)
+SUBDIRS := $(shell find -maxdepth 2 -name Makefile -not -path ./Makefile -printf "%h\n")
 else
-ifeq ($(OS), fbsd-ll)
-
-REALOS = fbsd
-all:           subdirs
-install:       subdirs
-clean:          subdirs
-SUBDIRS = dot_draw dyn_gw httpinfo nameservice powerinfo secure
-
+ifeq ($(OS),win32)
+SUBDIRS := bmf dot_draw httpinfo mini pgraph secure txtinfo
 else
-
-all:           help
-install::      help
-clean:          help
-
-endif
-endif
+SUBDIRS := bmf dot_draw dyn_gw dyn_gw_plain httpinfo mini nameservice pgraph secure txtinfo
 endif
 endif
 
-.PHONY:        subdirs $(SUBDIRS)
+.PHONY: $(SUBDIRS)
 
-subdirs:       $(SUBDIRS)
+all: $(SUBDIRS)
+clean: $(SUBDIRS)
+install: $(SUBDIRS)
 
 $(SUBDIRS):
-       $(MAKE) -C $@ OS=$(REALOS) $(MAKECMDGOALS)
-
-help:
-       @echo
-       @echo '******** olsr.org plugin Make *******'
-       @echo ' You must provide a valid target OS '
-       @echo ' by setting the OS variable! Valid  '
-       @echo ' target OSes are:                   '
-       @echo ' ---------------------------------  '
-       @echo ' linux - GNU/Linux                  '
-       @echo ' win32 - MS Windows                 '
-       @echo ' fbsd  - FreeBSD                    '
-       @echo ' ---------------------------------  '
-       @echo ' Example - build for windows:       '
-       @echo ' make OS=win32                      '
-       @echo '************************************'
-       @echo
-
+       $(MAKE) OS=$(OS) -C $@ $(MAKECMDGOALS)