blob: 648c71149508096e38fd0b184b634d496f1a92b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#
# Variables
#
PROJECT_ROOT = .
BUILDDIR = $(PROJECT_ROOT)/build
SOURCEDIR = $(PROJECT_ROOT)/src
INCLUDEDIRS = $(SOURCEDIR)
INCLUDES = $(addprefix -I,$(INCLUDEDIRS))
LIBNAMES =
LIBS = $(addprefix -l,$(LIBNAMES))
DEBUGFLAGS = -g
CFLAGS = -Wall -DDEBUG_MODE -DDEBUG
CFLAGS += -DLINUX $(DEBUGFLAGS)
LDFLAGS = $(DEBUGFLAGS)
CC = g++
LD = g++
LINK_TARGET = $(BUILDDIR)/scheduler_sim
SOURCES := $(wildcard $(SOURCEDIR)/*.cpp)
OBJS_TMP := $(foreach srcfile,$(SOURCES),$(srcfile).o)
OBJS := $(foreach tmp,$(OBJS_TMP),$(patsubst $(SOURCEDIR)/%.cpp.o,$(BUILDDIR)/%.o,$(tmp)))
REBUILDABLES = $(OBJS) $(LINK_TARGET)
.PHONY: clean
clean :
rm -f $(REBUILDABLES)
rm -f $(BUILDDIR)/*
rmdir $(BUILDDIR)
@echo Clean done
all : builddir $(LINK_TARGET)
@echo All done
builddir :
@echo 'Creating build directory'
mkdir -p $(BUILDDIR)
$(LINK_TARGET) : $(OBJS)
@echo 'Linking file: $@'
$(LD) $(LDFLAGS) $(LIBS) -o $@ $^
$(BUILDDIR)/%.o : $(SOURCEDIR)/%.cpp
@echo 'Building file: $<'
$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
|