Compile backends as static libraries.
authorMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 30 Mar 2009 05:28:47 +0000 (07:28 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 30 Mar 2009 05:28:47 +0000 (07:28 +0200)
Signed-off-by: Matthias Bolte <matthias.bolte@googlemail.com>

13 files changed:
.gitignore
Makefile
backend/Makefile
backend/data/Makefile
backend/data/file/Makefile
backend/mutex/Makefile
backend/mutex/none/Makefile
backend/mutex/pthread/Makefile
backend/mutex/pthread/mutex.c
backend/network/Makefile
backend/network/dhcponly/Makefile
lib/Makefile
tests/Makefile

index 5c1697b..3f13190 100644 (file)
@@ -1,3 +1,4 @@
+*.a
 *.o
 *.so
 *.test
index 51bd1aa..bc7890f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ all: backend-all utils-all lib-all daemon-all proxy-all cli-all tests-all
 
 clean: backend-clean utils-clean lib-clean daemon-clean proxy-clean cli-clean tests-clean
 
-install: backend-install utils-install lib-install daemon-install proxy-install cli-install
+install: utils-install lib-install daemon-install proxy-install cli-install
 
 check: all
        $(MAKE) -C tests check
index f339e3b..2bfde61 100644 (file)
@@ -18,16 +18,11 @@ all: data-all mutex-all network-all
 
 clean: data-clean mutex-clean network-clean
 
-install: data-install mutex-install network-install
-
 %-all:
        @echo $@ | sed 's,\([a-z]*\)-all,echo "building backend/\1"; $(MAKE) -C \1 all;,g' | sh
 
 %-clean:
        @echo $@ | sed 's,\([a-z]*\)-clean,echo "cleaning backend/\1"; $(MAKE) -C \1 clean;,g' | sh
 
-%-install:
-       @echo $@ | sed 's,\([a-z]*\)-install,echo "installing backend/\1"; $(MAKE) -C \1 install;,g' | sh
-
 
 
index d398201..4290e3e 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the chosen data backend for Virtualized Super Computer Management
+# Makefile to build the data backends for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 # Copyright (C) 2009 Maximilian Wilhelm <max@rfc2324.org>
@@ -20,16 +20,12 @@ all: file-all
 
 clean: file-clean
 
-install: file-install
-
 %-all:
        @echo $@ | sed 's,\([a-z]*\)-all,echo "building backend/data/\1"; $(MAKE) -C \1 all;,g' | sh
 
 %-clean:
        @echo $@ | sed 's,\([a-z]*\)-clean,echo "cleaning backend/data/\1"; $(MAKE) -C \1 clean;,g' | sh
 
-%-install:
-       @echo $@ | sed 's,\([a-z]*\)-install,echo "installing backend/data/\1"; $(MAKE) -C \1 install;,g' | sh
 
 
 
index 8208fba..3c00c16 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the Utilities for Virtualized Super Computer Management
+# Makefile to build the file based data backend for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 # Copyright (C) 2009 Maximilian Wilhelm <max@rfc2324.org>
@@ -9,24 +9,19 @@
 include ../../../config.mk
 
 OBJS     = data.o
-TARGET   = libvscmgmt-data-file.so
+TARGET   = libvscmgmt-data-file.a
 
 #
 # Rules
 #
 
-.PHONY: all clean install
+.PHONY: all clean
 
 all: $(TARGET)
 
 clean:
        rm -rf $(TARGET) $(OBJS)
 
-install:
-       mkdir -p $(PREFIX)
-       @echo "> installing $(TARGET)"
-       install -c -m 755 $(TARGET) $(PREFIX)/lib/$(TARGET)
-
 $(TARGET): $(OBJS)
        @echo "> linking $(TARGET)"
-       $(CC) -shared -o $(TARGET) $(OBJS) $(LDFLAGS)
+       ar rcs $(TARGET) $(OBJS)
index d07b0cb..1796725 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the chosen mutex backend for Virtualized Super Computer Management
+# Makefile to build the mutex backends for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 # Copyright (C) 2009 Maximilian Wilhelm <max@rfc2324.org>
index b11b5f6..f4109cf 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the Utilities for Virtualized Super Computer Management
+# Makefile to build the none based mutex backend for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 # Copyright (C) 2009 Maximilian Wilhelm <max@rfc2324.org>
@@ -9,24 +9,19 @@
 include ../../../config.mk
 
 OBJS     = mutex.o
-TARGET   = libvscmgmt-mutex-none.so
+TARGET   = libvscmgmt-mutex-none.a
 
 #
 # Rules
 #
 
-.PHONY: all clean install
+.PHONY: all clean
 
 all: $(TARGET)
 
 clean:
        rm -rf $(TARGET) $(OBJS)
 
-install:
-       mkdir -p $(PREFIX)
-       @echo "> installing $(TARGET)"
-       install -c -m 755 $(TARGET) $(PREFIX)/lib/$(TARGET)
-
 $(TARGET): $(OBJS)
        @echo "> linking $(TARGET)"
-       $(CC) -shared -o $(TARGET) $(OBJS) $(LDFLAGS)
+       ar rcs $(TARGET) $(OBJS)
index 213faf4..0efbde3 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the Utilities for Virtualized Super Computer Management
+# Makefile to build the pthread based mutex backend for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 # Copyright (C) 2009 Maximilian Wilhelm <max@rfc2324.org>
@@ -9,24 +9,19 @@
 include ../../../config.mk
 
 OBJS     = mutex.o
-TARGET   = libvscmgmt-mutex-pthread.so
+TARGET   = libvscmgmt-mutex-pthread.a
 
 #
 # Rules
 #
 
-.PHONY: all clean install
+.PHONY: all clean
 
 all: $(TARGET)
 
 clean:
        rm -rf $(TARGET) $(OBJS)
 
-install:
-       mkdir -p $(PREFIX)
-       @echo "> installing $(TARGET)"
-       install -c -m 755 $(TARGET) $(PREFIX)/lib/$(TARGET)
-
 $(TARGET): $(OBJS)
        @echo "> linking $(TARGET)"
-       $(CC) -shared -o $(TARGET) $(OBJS) $(LDFLAGS)
+       ar rcs $(TARGET) $(OBJS)
index 2564c63..e4bfb3c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * mutex.c: Pthread based mutex backed for Virtualized Super Computer Management
+ * mutex.c: Pthread based mutex backend for Virtualized Super Computer Management
  *
  * Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
  *
index f51c15d..199e1a9 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the chosen network driver for Virtualized Super Computer Management
+# Makefile to build network backends for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 # Copyright (C) 2009 Maximilian Wilhelm <max@rfc2324.org>
@@ -14,22 +14,14 @@ SUBDIRS = dhcponly
 # Rules
 #
 
-.PHONY: all clean install
+.PHONY: all clean
 
 all: dhcponly-all
 
 clean: dhcponly-clean
 
-install: dhcponly-install
-
 %-all:
        @echo $@ | sed 's,\([a-z]*\)-all,echo "building backend/network/\1"; $(MAKE) -C \1 all;,g' | sh
 
 %-clean:
        @echo $@ | sed 's,\([a-z]*\)-clean,echo "cleaning backend/network/\1"; $(MAKE) -C \1 clean;,g' | sh
-
-%-install:
-       @echo $@ | sed 's,\([a-z]*\)-install,echo "installing backend/network/\1"; $(MAKE) -C \1 install;,g' | sh
-
-
-
index e3280cc..69ef998 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/make
 #
-# Makefile to build the Utilities for Virtualized Super Computer Management
+# Makefile to build the DHCP only based network backend for Virtualized Super Computer Management
 #
 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
 #
@@ -8,24 +8,19 @@
 include ../../../config.mk
 
 OBJS     = network.o
-TARGET   = libvscmgmt-network-dhcponly.so
+TARGET   = libvscmgmt-network-dhcponly.a
 
 #
 # Rules
 #
 
-.PHONY: all clean install
+.PHONY: all clean
 
 all: $(TARGET)
 
 clean:
        rm -rf $(TARGET) $(OBJS)
 
-install:
-       mkdir -p $(PREFIX)
-       @echo "> installing $(TARGET)"
-       install -c -m 755 $(TARGET) $(PREFIX)/lib/$(TARGET)
-
 $(TARGET): $(OBJS)
        @echo "> linking $(TARGET)"
-       $(CC) -shared -o $(TARGET) $(OBJS) $(LDFLAGS)
+       ar rcs $(TARGET) $(OBJS)
index ffa83ea..68c8ef1 100644 (file)
@@ -15,16 +15,19 @@ TARGET   = libvscmgmt.so
 # Fancy gcc options
 #
 
-# libvirt
-CFLAGS  += $(shell pkg-config libvirt --cflags)
-LDFLAGS += $(shell pkg-config libvirt --libs)
-
 # data backend
 LDFLAGS += -L ../backend/data/$(DATA_BACKEND) -lvscmgmt-data-$(DATA_BACKEND)
 
+# mutex backend
+LDFLAGS += -L ../backend/mutex/$(MUTEX_BACKEND) -lvscmgmt-mutex-$(MUTEX_BACKEND)
+
 # network backend
 LDFLAGS += -L ../backend/network/$(NETWORK_BACKEND) -lvscmgmt-network-$(NETWORK_BACKEND)
 
+# libvirt
+CFLAGS  += $(shell pkg-config libvirt --cflags)
+LDFLAGS += $(shell pkg-config libvirt --libs)
+
 #
 # Rules
 #
index b5e7948..35f12db 100644 (file)
@@ -24,17 +24,6 @@ LDFLAGS += -L ../lib -lvscmgmt
 # libvscmgmt-utils
 LDFLAGS += -L ../utils -lvscmgmt-utils
 
-# libvscmgmt-data-$(DATA_BACKEND)
-LDFLAGS += -L ../backend/data/$(DATA_BACKEND) -lvscmgmt-data-$(DATA_BACKEND)
-
-# libvscmgmt-mutex-$(MUTEX_BACKEND)
-LDFLAGS += -L ../backend/mutex/$(MUTEX_BACKEND) -lvscmgmt-mutex-$(MUTEX_BACKEND)
-
-# libvscmgmt-network-$(NETWORK_BACKEND)
-LDFLAGS += -L ../backend/network/$(NETWORK_BACKEND) -lvscmgmt-network-$(NETWORK_BACKEND)
-
-LDPATH = ../lib:../utils:../backend/data/$(DATA_BACKEND):../backend/mutex/$(MUTEX_BACKEND):../backend/network/$(NETWORK_BACKEND)
-
 #
 # Rules
 #
@@ -49,15 +38,12 @@ clean:
        rm -rf $(TESTS) *.o
 
 check: all
-       @echo $(TESTS) | sed 's,^,./,g;s, ,\; ./,g' | LD_LIBRARY_PATH=$(LDPATH) sh
+       @echo $(TESTS) | sed 's,^,./,g;s, ,\; ./,g' | LD_LIBRARY_PATH=../lib:../utils sh
 
 check-gdb: all
        @echo r > .gdbinit
        @echo bt >> .gdbinit
-       @echo $(TESTS) | sed 's,^,./,g;s, ,\n./,g' | LD_LIBRARY_PATH=$(LDPATH) xargs -L 1 gdb
-
-install:
-       @echo "> nothing to install"
+       @echo $(TESTS) | sed 's,^,./,g;s, ,\n./,g' | LD_LIBRARY_PATH=../lib:../utils xargs -L 1 gdb
 
 %.test: %.o
        @echo "> linking $@"