-TMP = $(HOME)/nightwatch/tmp
-TGT = $(HOME)/nightwatch
+NAME = parser
+
+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 = parser
-LIBFILE = libmspparser
+PIC = -fPIC
+SHARED = .so
+STATIC = .a
+
SRC = source
-LIBOBJS = $(addprefix $(TMP)/, $(addsuffix .o, $(notdir $(basename $(wildcard $(SRC)/*.cpp)))))
+OBJS = $(addprefix $(TMP)/, $(addsuffix .o, $(notdir $(basename $(wildcard $(SRC)/*.cpp)))))
-pkgincludedir = include/msp/$(LIBRARY)
+pkgincludedir = include/msp/$(NAME)
libdir = lib
.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 $@ $^
# Library object file
$(TMP)/%.o: $(SRC)/%.cpp $(wildcard $(SRC)/*.h)
- echo "Compiling $(LIBRARY)/$(notdir $(basename $@))"
- $(CXX) -fPIC $(CXXFLAGS) -c $< -o $@
+ 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 $@
.PHONY: install_headers
install_headers: $(TGT)/$(pkgincludedir)
- echo "Installing $(LIBRARY) headers to $<"
+ echo "Installing $(NAME) headers to $<"
$(CP) $(SRC)/*.h $<
.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) $<