]> git.tdb.fi Git - libs/core.git/blobdiff - Makefile
Throw out anything polling related - they will go to libmspio eventually
[libs/core.git] / Makefile
index b88954c35ffe0769c2682af2ef2042385b90252c..1e310c3e11abbdb2ef167e80dd6759eab0756611 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,57 +1,77 @@
-TMP            = $(HOME)/nightwatch/tmp
-TGT            = $(HOME)/nightwatch
+NAME           = core
+
+WORKDIR                = $(PWD)/../..
+TMP            = $(WORKDIR)/tmp/linux
+TGT            = $(HOME)/local
 
 CXX            = g++
 CC             = gcc
 AR             = ar
 CP             = cp
+
+LIBFILE                = libmsp$(NAME)
+
+MAKEFLAGS      += -s --no-print-directory
 INCLUDE                = -Isource -I$(TMP)/include
 LIB            = -L$(TMP)
 DEBUG          = 
-CFLAGS         = $(DEBUG) $(INCLUDE) -pipe -Wall `pkg-config --cflags sigc++-2.0` `sdl-config --cflags`
+CFLAGS         = $(DEBUG) $(INCLUDE) -pipe -Wall 
 CXXFLAGS       = $(CFLAGS)
 
-LIBRARY                = framework
-LIBFILE                = libmspframework
+PIC            = -fPIC
+SHARED         = .so
+STATIC         = .a
+
+override CFLAGS                += `pkg-config --cflags sigc++-2.0`
+override LDFLAGS       += `pkg-config --libs sigc++-2.0`
+override CXXFLAGS      += `pkg-config --cflags sigc++-2.0`
+
 SRC            = source
-LIBOBJS                = $(addprefix $(TMP)/, $(addsuffix .o, $(notdir $(basename $(wildcard $(SRC)/*.cpp)))))
+SUBDIRS                = core time
+OBJS           = $(foreach SUBDIR, $(SUBDIRS), $(addprefix $(TMP)/$(SUBDIR)/, $(addsuffix .o, $(notdir $(basename $(wildcard $(SRC)/$(SUBDIR)/*.cpp))))))
 
-pkgincludedir  = include/msp/$(LIBRARY)
+pkgincludedir  = include/msp
 libdir         = lib
 
+foo = "echo $</$(SUBDIR); mkdir -p $</$(SUBDIR); $(CP) -r $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR)"
 .PHONY: all
-all: $(TMP) $(TMP)/$(LIBFILE).so $(TMP)/$(LIBFILE).a tmpheaders
+all: $(TMP) $(TMP)/$(LIBFILE)$(SHARED) $(TMP)/$(LIBFILE)$(STATIC) tmpheaders
 
 # Create temp directory
 $(TMP):
        mkdir -p $@
 
 # Dynamic library
-$(TMP)/$(LIBFILE).so: $(LIBOBJS)
+$(TMP)/$(LIBFILE)$(SHARED): $(OBJS)
        echo "Compiling $(notdir $@)"
-       $(CXX) $^ -shared -o $@ $(LIB) $(LIBRARYLIBS)
+       $(CXX) $^ -shared -o $@ $(LIB) $(LDFLAGS)
 
 # Static library
-$(TMP)/$(LIBFILE).a: $(LIBOBJS)
+$(TMP)/$(LIBFILE)$(STATIC): $(OBJS)
        echo "Compiling $(notdir $@)"
        $(AR) rcs $@ $^
 
 # Copy headers to temp
 .PHONY: tmpheaders
 tmpheaders: $(TMP)/$(pkgincludedir)
-       $(CP) $(SRC)/*.h $<
+       $(foreach SUBDIR, $(SUBDIRS), \
+               mkdir -p $</$(SUBDIR) ; \
+               $(CP) -R $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR) ; \
+       )
+#      $(foreach SUBDIR, $(SUBDIRS), $(CP) -r $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR))
 
 $(TMP)/$(pkgincludedir):
        mkdir -p $@
 
 # Library object file
 $(TMP)/%.o: $(SRC)/%.cpp $(wildcard $(SRC)/*.h)
-       echo "Compiling $(LIBRARY)/$(notdir $(basename $@))"
-       $(CXX) -fPIC $(CXXFLAGS) -c $< -o $@
+       mkdir -p $(dir $@)
+       echo "Compiling $(NAME)/$(notdir $(basename $@))"
+       $(CXX) $(PIC) $(CXXFLAGS) -c $< -o $@
 
 # Installs
 .PHONY: install
-install: install_headers install_lib install_staticlib
+install: install_lib 
 
 $(TGT)/$(pkgincludedir):
        mkdir -p $@
@@ -61,15 +81,15 @@ $(TGT)/$(libdir):
 
 .PHONY: install_headers
 install_headers: $(TGT)/$(pkgincludedir)
-       echo "Installing $(LIBRARY) headers to $<"
-       $(CP) $(SRC)/*.h $<
+       echo "Installing $(NAME) headers to $<"
+       $(foreach SUBDIR, $(SUBDIRS), $(CP) $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR))
 
 .PHONY: install_lib
-install_lib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE).so
+install_lib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE)$(SHARED)
        echo "Installing dynamic library to $<"
-       $(CP) $(TMP)/$(LIBFILE).so $<
+       $(CP) $(TMP)/$(LIBFILE)$(SHARED) $<
 
 .PHONY: install_staticlib
-install_staticlib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE).a
+install_staticlib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE)$(STATIC)
        echo "Installing static library to $<"
-       $(CP) $(TMP)/$(LIBFILE).a $<
+       $(CP) $(TMP)/$(LIBFILE)$(STATIC) $<