-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
44 lines (32 loc) · 1016 Bytes
/
Makefile
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
PROJECT_NAME=quickinit
GIT_VERSION := "$(shell git describe --abbrev=4 --dirty --always --tags)"
SRCDIR := src
INCDIR := inc
BUILDDIR := obj
TARGETDIR := bin
SRCEXT := c
SOURCES := $(shell find $(SRCDIR) -maxdepth 1 -type f -name *.$(SRCEXT))
SOURCES_TELINIT := $(shell find $(SRCDIR)/telinit -maxdepth 1 -type f -name *.$(SRCEXT))
#Compiler
CC=$(CROSS_COMPILE)gcc
# Flags for compiler
CFLAGS := -O2 -Wall
CFLAGS += -I $(INCDIR) -pthread -DQUICKINIT_VERSION=\"$(GIT_VERSION)\"
.PHONY: proj
all: proj
proj: $(BUILDDIR)/init $(BUILDDIR)/telinit
$(BUILDDIR)/init: $(SOURCES)
@mkdir -p $(TARGETDIR)
@mkdir -p $(BUILDDIR)
$(CC) $(CFLAGS) $^ -o $@
@cp $(BUILDDIR)/init $(TARGETDIR)/init
@echo Done!
$(BUILDDIR)/telinit: $(SOURCES_TELINIT)
@mkdir -p $(TARGETDIR)
@mkdir -p $(BUILDDIR)
$(CC) $(CFLAGS) $^ -o $@
@cp $(BUILDDIR)/telinit $(TARGETDIR)/telinit
@echo Done!
clean:
rm -f $(BUILDDIR)/*.o $(BUILDDIR)/telinit/*.o $(TARGETDIR)/init \
$(BUILDDIR)/init $(TARGETDIR)/telinit $(BUILDDIR)/telinit