43 lines
1.1 KiB
Makefile
43 lines
1.1 KiB
Makefile
CC = gcc
|
|
STD_CFLAGS = -Wall -std=gnu99 -c -O2
|
|
|
|
# Enable ARM-specific options only on ARM, and compilation of the app only on ARM
|
|
UNAME := $(shell uname -m)
|
|
PCPUI := $(shell cat /proc/cpuinfo | grep Revision | cut -c16-)
|
|
|
|
# Determine the hardware platform. Below, pi1 stands for the RaspberryPi 1 (the original one),
|
|
# and pi2 stands for both the RaspberryPi 2 and 3.
|
|
ifeq ($(UNAME), armv6l)
|
|
CFLAGS = $(STD_CFLAGS) -march=armv6 -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp -ffast-math -DRASPI=1
|
|
TARGET = pi1
|
|
else ifeq ($(PCPUI), 11)
|
|
CFLAGS = $(STD_CFLAGS) -march=armv7-a -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp -ffast-math -DRASPI=4
|
|
TARGET = pi4
|
|
else ifeq ($(UNAME), armv7l)
|
|
CFLAGS = $(STD_CFLAGS) -march=armv7-a -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp -ffast-math -DRASPI=2
|
|
TARGET = pi2
|
|
else
|
|
CFLAGS = $(STD_CFLAGS)
|
|
TARGET = other
|
|
endif
|
|
|
|
ifneq ($(TARGET), other)
|
|
|
|
app: pitxft.o mailbox.o
|
|
$(CC) -o pitxft mailbox.o pitxft.o -lm
|
|
|
|
endif
|
|
|
|
|
|
mailbox.o: mailbox.c mailbox.h
|
|
$(CC) $(CFLAGS) mailbox.c
|
|
|
|
pitxft.o: pitxft.c mailbox.h
|
|
$(CC) $(CFLAGS) pitxft.c
|
|
|
|
ask2ft: ask2ft.c
|
|
$(CC) -O2 -o ask2ft ask2ft.c
|
|
|
|
clean:
|
|
rm -f *.o
|