Index: trunk/Ohana/src/opihi/Makefile.Common
===================================================================
--- trunk/Ohana/src/opihi/Makefile.Common	(revision 11121)
+++ trunk/Ohana/src/opihi/Makefile.Common	(revision 11891)
@@ -3,9 +3,14 @@
 # .SUFFIXES: .$(ARCH).o
 
-CFLAGS  =       -I$(INC) -I$(DESTINC) $(INCDIRS) -DDATADIR_DEFAULT=$(DATA)
+BASE_CFLAGS   =	$(CFLAGS)
+BASE_CPPFLAGS =	$(CPPFLAGS) -I$(INC) -I$(DESTINC) $(INCDIRS) -D$(ARCH) -DDATADIR_DEFAULT=$(DATA)
+BASE_LDFLAGS  = $(LDFLAGS) -L$(LIB) -L$(DESTLIB) $(LIBDIRS) $(LIBFLAGS)
+
+%.$(ARCH).o : %.c
+	$(CC) $(FULL_CFLAGS) $(FULL_CPPFLAGS) -c $< -o $@
 
 $(BIN)/%.$(ARCH):
 	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
-	$(CC) -o $@ $^ $(LFLAGS)
+	$(CC) $(FULL_CFLAGS) -o $@ $^ $(FULL_LDFLAGS)
 	@echo "compiled $*"
 	@echo ""
@@ -27,4 +32,14 @@
 
 $(DESTLIB)/%.a: $(LIB)/%.$(ARCH).a
+	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
+	rm -f $@
+	cp $< $@
+
+$(LIB)/%.$(ARCH).so:
+	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
+	rm -f $@
+	gcc -shared -Wl,-soname,$*.so -o $@ $^ -lc
+
+$(DESTLIB)/%.so: $(LIB)/%.$(ARCH).so
 	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
 	rm -f $@
@@ -55,7 +70,4 @@
 	@echo ""
 
-%.$(ARCH).o : %.c
-	$(CC) -o $@ -c $*.c $(CFLAGS)
-
 clean:
 	rm -f $(BIN)/*.$(ARCH)
