2 LIBFILE = libmspframework
4 TMP = $(HOME)/nightwatch/tmp
5 TGT = $(HOME)/nightwatch
12 INCLUDE = -Isource -I$(TMP)/include
15 CFLAGS = $(DEBUG) $(INCLUDE) -pipe -Wall `pkg-config --cflags sigc++-2.0`
17 LIBLDFLAGS = -lpthreadGC2 -lsigc-2.0
18 MAKEFLAGS += -s --no-print-directory
25 LIBOBJS = $(addprefix $(TMP)/, $(addsuffix .o, $(notdir $(basename $(wildcard $(SRC)/*.cpp)))))
27 pkgincludedir = include/msp/$(LIBRARY)
31 all: $(TMP) $(TMP)/$(LIBFILE)$(SHARED) $(TMP)/$(LIBFILE)$(STATIC) tmpheaders
33 # Create temp directory
38 $(TMP)/$(LIBFILE)$(SHARED): $(LIBOBJS)
39 echo "Compiling $(notdir $@)"
40 $(CXX) $^ -shared -o $@ $(LIB) $(LIBLDFLAGS)
43 $(TMP)/$(LIBFILE)$(STATIC): $(LIBOBJS)
44 echo "Compiling $(notdir $@)"
47 # Copy headers to temp
49 tmpheaders: $(TMP)/$(pkgincludedir)
52 $(TMP)/$(pkgincludedir):
56 $(TMP)/%.o: $(SRC)/%.cpp $(wildcard $(SRC)/*.h)
57 echo "Compiling $(LIBRARY)/$(notdir $(basename $@))"
58 $(CXX) $(PIC) $(CXXFLAGS) -c $< -o $@
62 install: install_headers install_lib install_staticlib
64 $(TGT)/$(pkgincludedir):
70 .PHONY: install_headers
71 install_headers: $(TGT)/$(pkgincludedir)
72 echo "Installing $(LIBRARY) headers to $<"
76 install_lib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE).so
77 echo "Installing dynamic library to $<"
78 $(CP) $(TMP)/$(LIBFILE).so $<
80 .PHONY: install_staticlib
81 install_staticlib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE).a
82 echo "Installing static library to $<"
83 $(CP) $(TMP)/$(LIBFILE).a $<