Advanced Distributed Systems module at HSLU
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

56 lines
1.2 KiB

default: all
CC = arm-linux-gnueabihf-g++ -ggdb
LINK_TARGET = $(OBJ_DIR)udp_app
DEPEND_OPTS = -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -MT"$(@:%.o=%.d)"
SRC_DIR = ./src/
OBJ_DIR = ./obj/
OBJS = \
$(OBJ_DIR)delay.o \
$(OBJ_DIR)platform.o \
$(OBJ_DIR)gpio.o \
$(OBJ_DIR)robotNav.o \
$(OBJ_DIR)udp.o \
$(OBJ_DIR)hostname.o \
$(OBJ_DIR)main.o
############################
# List of dependency files
C_DEPS = \
$(OBJ_DIR)delay.d \
$(OBJ_DIR)platform.d \
$(OBJ_DIR)gpio.d \
$(OBJ_DIR)robotNav.d \
$(OBJ_DIR)udp.d \
$(OBJ_DIR)hostname.d \
$(OBJ_DIR)main.d
############################
# Include generated dependency files (only if not clean target)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
all: $(LINK_TARGET)
@echo All done!
clean:
-@rm $(LINK_TARGET)
-@rm $(OBJS)
-@rm $(C_DEPS)
@echo Clean done!
############################
# Pattern rule to compile a file
# $@ matches the target
# $< matches the first dependent
$(OBJ_DIR)%.o: $(SRC_DIR)%.c
$(CC) $(DEPEND_OPTS) -g3 -c "$<" -o "$@"
$(LINK_TARGET): $(OBJS)
$(CC) $(OBJS) -ggdb -o $@
# -lgpiod
# if gpiod not found:
# sudo apt install libgpiod
# sudo apt install libgpiod-dev