0 | |
libal: main.c
|
1 | |
gcc -o $@ $<
|
|
0 |
# This is a general use makefile for robotics cape projects written in C.
|
|
1 |
# Just change the target name to match your main source code filename.
|
|
2 |
TARGET = d
|
|
3 |
|
|
4 |
CC := gcc
|
|
5 |
LINKER := gcc -o
|
|
6 |
CFLAGS := -c -Wall -g
|
|
7 |
LFLAGS := -lm -lrt -lpthread -lroboticscape
|
|
8 |
|
|
9 |
SOURCES := $(wildcard *.c)
|
|
10 |
INCLUDES := $(wildcard *.h)
|
|
11 |
OBJECTS := $(SOURCES:$%.c=$%.o)
|
|
12 |
|
|
13 |
prefix := /usr/local
|
|
14 |
RM := rm -f
|
|
15 |
INSTALL := install -m 4755
|
|
16 |
INSTALLDIR := install -d -m 755
|
|
17 |
|
|
18 |
LINK := ln -s -f
|
|
19 |
LINKDIR := /etc/roboticscape
|
|
20 |
LINKNAME := link_to_startup_program
|
|
21 |
|
|
22 |
|
|
23 |
# linking Objects
|
|
24 |
$(TARGET): $(OBJECTS)
|
|
25 |
@$(LINKER) $(@) $(OBJECTS) $(LFLAGS)
|
|
26 |
|
|
27 |
|
|
28 |
# compiling command
|
|
29 |
$(OBJECTS): %.o : %.c $(INCLUDES)
|
|
30 |
@$(CC) $(CFLAGS) -c $< -o $(@)
|
|
31 |
@echo "Compiled: "$<
|
|
32 |
|
|
33 |
all:
|
|
34 |
$(TARGET)
|
|
35 |
|
|
36 |
debug:
|
|
37 |
$(MAKE) $(MAKEFILE) DEBUGFLAG="-g -D DEBUG"
|
|
38 |
@echo " "
|
|
39 |
@echo "$(TARGET) Make Debug Complete"
|
|
40 |
@echo " "
|
|
41 |
|
|
42 |
install:
|
|
43 |
@$(MAKE) --no-print-directory
|
|
44 |
@$(INSTALLDIR) $(DESTDIR)$(prefix)/bin
|
|
45 |
@$(INSTALL) $(TARGET) $(DESTDIR)$(prefix)/bin
|
|
46 |
@echo "$(TARGET) Install Complete"
|
|
47 |
|
|
48 |
clean:
|
|
49 |
@$(RM) $(OBJECTS)
|
|
50 |
@$(RM) $(TARGET)
|
|
51 |
@echo "$(TARGET) Clean Complete"
|
|
52 |
|
|
53 |
uninstall:
|
|
54 |
@$(RM) $(DESTDIR)$(prefix)/bin/$(TARGET)
|
|
55 |
@echo "$(TARGET) Uninstall Complete"
|
|
56 |
|
|
57 |
runonboot:
|
|
58 |
@$(MAKE) install --no-print-directory
|
|
59 |
@$(LINK) $(DESTDIR)$(prefix)/bin/$(TARGET) $(LINKDIR)/$(LINKNAME)
|
|
60 |
@echo "$(TARGET) Set to Run on Boot"
|
|
61 |
|