initial commit
[ETG_Helmet] / SOFTWARE / UTILS / fast-gpio / makefile
1
2 # This is the main compiler
3 CXX := g++
4 # CXX := clang --analyze # and comment out the linker last line for sanity
5 SRCDIR := src
6 INCDIR := include
7 BUILDDIR := build
8 BINDIR := bin
9 TARGET := $(BINDIR)/fast-gpio
10  
11 SRCEXT := cpp
12 SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
13 OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o))
14 CXXFLAGS := -g # -Wall
15 #LIB := -pthread -lmongoclient -L lib -lboost_thread-mt -lboost_filesystem-mt -lboost_system-mt
16 DEVICE_TYPE := ramips
17 #DEVICE_TYPE := "UNKNOWN"
18 override CXXFLAGS += -D 'DEVICE_TYPE="$(DEVICE_TYPE)"'
19
20 INC := $(shell find $(INCDIR) -maxdepth 1 -type d -exec echo -I {}  \;)
21
22 $(TARGET): $(OBJECTS)
23         @mkdir -p $(BINDIR)
24         @echo " Linking..."
25         @echo " $(CXX) $^ -o $(TARGET) $(LIB)"; $(CXX) $^ -o $(TARGET) $(LIB)
26
27 $(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
28         @mkdir -p $(dir $@)
29         @echo " $(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<"; $(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<
30
31 clean:
32         @echo " Cleaning..."; 
33         @echo " $(RM) -r $(BUILDDIR) $(BINDIR)"; $(RM) -r $(BUILDDIR) $(BINDIR)
34
35 bla:
36         @echo "$(BLA)"
37
38 # Tests
39 tester:
40         $(CXX) $(CXXFLAGS) test/tester.cpp $(INC) $(LIB) -o bin/tester
41
42 # Spikes
43 #ticket:
44 #  $(CXX) $(CXXFLAGS) spikes/ticket.cpp $(INC) $(LIB) -o bin/ticket
45
46 .PHONY: clean
Contact me: dev (at) shalnoff (dot) com
PGP fingerprint: A6B8 3B23 6013 F18A 0C71 198B 83D8 C64D 917A 5717