firmware makefile
Posted: Thu Oct 22, 2020 5:21 pm
hello, I am trying to implement a MPC controller but my knowledge of the firmware and the Makefile is only limited. I have auto generated code for The MPC in a folder cmpc with a corresponding makefile (I can not alter this)
I want to link the files. The example folder of the MPC code generator hands a makefile as an example
What would be the best way to link the MPC code from above
Code: Select all
CC = gcc
FLAGS = -Os -Wall -Wstrict-prototypes -pedantic
OPT = -O3 -funroll-loops
STD = -std=c89
all: libcmpc mpc_const.o mpc.o mpc_ref.o mpc_inc.o mpc_stc.o mtx_ops.o fip_ops.o
libcmpc: mtx_ops.o fip_ops.o mpc_const.o mpc.o mpc_ref.o mpc_stc.o mpc_inc.o
ar rcs libcmpc.a mtx_ops.o fip_ops.o mpc_const.o mpc.o mpc_ref.o mpc_inc.o mpc_stc.o
mpc_const.o: mpc_const.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c mpc_const.c
mtx_ops.o: mtx_ops.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c mtx_ops.c
fip_ops.o: fip_ops.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c fip_ops.c
mpc.o: mpc.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c mpc.c
mpc_ref.o: mpc_ref.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c mpc_ref.c
mpc_inc.o: mpc_inc.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c mpc_inc.c
mpc_stc.o: mpc_stc.c
$(CC) $(FLAGS) $(OPT) $(STD) -I./include -c mpc_stc.c
clean:
rm *.o libcmpc.a
Code: Select all
CC = gcc
FLAGS = -Os -Wall -Wstrict-prototypes -g
OPT = -O3 -funroll-loops
STD = -std=c89
all: lcmpc motor
lcmpc:
make -C cmpc
motor: main_motor.c lcmpc
$(CC) $(FLAGS) $(OPT) $(STD) main_motor.c -Lcmpc -lcmpc -o motor
clean:
rm -rf cmpc python __pycache__ motor