64 lines
1.2 KiB
Makefile
64 lines
1.2 KiB
Makefile
|
|
TARGET = librc_interrupt.so
|
||
|
|
|
||
|
|
SUBDIRS = $(shell find * -type d -print)
|
||
|
|
CC = gcc
|
||
|
|
LINKER := gcc
|
||
|
|
TOUCH := $(shell touch *)
|
||
|
|
CFLAGS := -Wall -fsingle-precision-constant -fpic -march=armv7-a -mtune=cortex-a8 -g
|
||
|
|
LFLAGS := -lm -lrt -lpthread -shared -lroboticscape
|
||
|
|
|
||
|
|
#DEFS =
|
||
|
|
|
||
|
|
SOURCES := $(shell find ./ -name '*.c')
|
||
|
|
INCLUDES := $(shell find ./ -name '*.h')
|
||
|
|
OBJECTS := $(SOURCES:$%.c=$%.o)
|
||
|
|
RM := rm -f
|
||
|
|
CP := cp
|
||
|
|
INSTALL_DIR = /usr/lib/
|
||
|
|
INCLUDE_DIR = /usr/include/
|
||
|
|
|
||
|
|
all:$(TARGET)
|
||
|
|
|
||
|
|
|
||
|
|
# linking Objects
|
||
|
|
$(TARGET): $(OBJECTS)
|
||
|
|
@$(LINKER) $(LFLAGS) -o $(TARGET) $(OBJECTS)
|
||
|
|
@echo
|
||
|
|
@echo "Linking Complete"
|
||
|
|
|
||
|
|
$(OBJECTS): %.o : %.c
|
||
|
|
@$(TOUCH) $(CC) $(CFLAGS) $(DEFS) -c $< -o $(@)
|
||
|
|
@echo "Compiled "$<" successfully!"
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
# install to /usr/bin
|
||
|
|
$(phony all) : $(TARGET)
|
||
|
|
.PHONY: install
|
||
|
|
|
||
|
|
|
||
|
|
install:
|
||
|
|
@echo "moving headers files to /usr/include"
|
||
|
|
@for f in $(INCLUDES) ; do \
|
||
|
|
$(CP) --parents $$f $(INCLUDE_DIR) ; \
|
||
|
|
done
|
||
|
|
|
||
|
|
$(MAKE)
|
||
|
|
@$(CP) $(TARGET) $(INSTALL_DIR)
|
||
|
|
@$(CP) $(OBJECTS) $(INSTALL_DIR)
|
||
|
|
@$(CP) $(INSTALL_DIR)/$(TARGET) $(INSTALL_DIR)/lib$(TARGET)
|
||
|
|
@ldconfig
|
||
|
|
@echo "$(TARGET) installed to $(INSTALL_DIR)"
|
||
|
|
@echo
|
||
|
|
|
||
|
|
|
||
|
|
clean:
|
||
|
|
@for dir in $(SUBDIRS) ; do \
|
||
|
|
$(RM) $$dir/*.o ; \
|
||
|
|
done
|
||
|
|
|
||
|
|
@$(RM) *.o
|
||
|
|
@$(RM) *.so
|
||
|
|
@echo "Cleanup complete!"
|