4 TMP = $(WORKDIR)/tmp/linux
12 LIBFILE = libmsp$(NAME)
14 MAKEFLAGS += -s --no-print-directory
15 INCLUDE = -Isource -I$(TMP)/include
18 CFLAGS = $(DEBUG) $(INCLUDE) -pipe -Wall
25 override CFLAGS += `pkg-config --cflags sigc++-2.0`
26 override LDFLAGS += `pkg-config --libs sigc++-2.0`
27 override CXXFLAGS += `pkg-config --cflags sigc++-2.0`
31 OBJS = $(foreach SUBDIR, $(SUBDIRS), $(addprefix $(TMP)/$(SUBDIR)/, $(addsuffix .o, $(notdir $(basename $(wildcard $(SRC)/$(SUBDIR)/*.cpp))))))
33 pkgincludedir = include/msp
36 foo = "echo $</$(SUBDIR); mkdir -p $</$(SUBDIR); $(CP) -r $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR)"
38 all: $(TMP) $(TMP)/$(LIBFILE)$(SHARED) $(TMP)/$(LIBFILE)$(STATIC) tmpheaders
40 # Create temp directory
45 $(TMP)/$(LIBFILE)$(SHARED): $(OBJS)
46 echo "Compiling $(notdir $@)"
47 $(CXX) $^ -shared -o $@ $(LIB) $(LDFLAGS)
50 $(TMP)/$(LIBFILE)$(STATIC): $(OBJS)
51 echo "Compiling $(notdir $@)"
54 # Copy headers to temp
56 tmpheaders: $(TMP)/$(pkgincludedir)
57 $(foreach SUBDIR, $(SUBDIRS), \
58 mkdir -p $</$(SUBDIR) ; \
59 $(CP) -R $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR) ; \
61 # $(foreach SUBDIR, $(SUBDIRS), $(CP) -r $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR))
63 $(TMP)/$(pkgincludedir):
67 $(TMP)/%.o: $(SRC)/%.cpp $(wildcard $(SRC)/*.h)
69 echo "Compiling $(NAME)/$(notdir $(basename $@))"
70 $(CXX) $(PIC) $(CXXFLAGS) -c $< -o $@
76 $(TGT)/$(pkgincludedir):
82 .PHONY: install_headers
83 install_headers: $(TGT)/$(pkgincludedir)
84 echo "Installing $(NAME) headers to $<"
85 $(foreach SUBDIR, $(SUBDIRS), $(CP) $(SRC)/$(SUBDIR)/*.h $</$(SUBDIR))
88 install_lib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE)$(SHARED)
89 echo "Installing dynamic library to $<"
90 $(CP) $(TMP)/$(LIBFILE)$(SHARED) $<
92 .PHONY: install_staticlib
93 install_staticlib: $(TGT)/$(libdir) $(TMP)/$(LIBFILE)$(STATIC)
94 echo "Installing static library to $<"
95 $(CP) $(TMP)/$(LIBFILE)$(STATIC) $<