Franka ローカルでexamplesをビルド・Makefile的


https://frankaemika.github.io/libfranka/examples.html のファイルをビルドする

Makefile.simple
INCS=   -I /opt/ros/melodic/include/libfranka -I /usr/include/eigen3

LIBS=   /opt/ros/melodic/lib/libfranka.so -lPocoFoundation -lPocoNet -lpthread

EXES=\
        cartesian_impedance_control\
        communication_test\
        echo_robot_state\
        force_control\
        generate_cartesian_pose_motion\
        generate_cartesian_velocity_motion\
        generate_consecutive_motions\
        generate_elbow_motion\
        generate_joint_position_motion\
        generate_joint_velocity_motion\
        grasp_object\
        joint_impedance_control\
        joint_point_to_point_motion\
        motion_with_control\
        print_joint_poses\
        vacuum_object

OBJS=   $(patsubst %, %.o, $(EXES))
OBJS+=  examples_common.o

define link
$(1): $1.o examples_common.o
        g++ -o $1 $1.o examples_common.o $(LIBS)
endef

all: $(EXES)

$(foreach prog, $(EXES), $(eval $(call link, $(prog))))

.cpp.o:
        g++ $(INCS) -c $<

clean:
        rm -f $(OBJS) $(EXES)