-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
101 lines (84 loc) · 2.81 KB
/
Copy pathMakefile
File metadata and controls
101 lines (84 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
PROJECT = rocket-sim-exe
ROCKET_SIM_PATCH_PATH :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
ROCKET_SIM_PATH := $(abspath $(dir $(ROCKET_SIM_PATCH_PATH)))
CC = gcc
CXX = g++
CXXFLAGS =-g \
-I$(ROCKET_SIM_PATCH_PATH)/include\
-I$(ROCKET_SIM_PATH)/include \
-Wall -pipe \
-O3 \
-march=native -mtune=native \
-pthread
CXXFLAGS += -fmessage-length=0 \
-fno-rtti -Wno-multichar \
-fvisibility-inlines-hidden \
-fno-stack-protector \
-fno-asynchronous-unwind-tables
# LDFLAGS = /usr/lib/libtcmalloc_minimal.so.4
# CLIBS = -ldl
# CFLAGS = -g -W -Wall -pthread
# CFLAGS += -I$(ROCKET_SIM_PATCH_PATH)/include
SOURCES = \
$(ROCKET_SIM_PATH)/src/execution.cpp \
$(ROCKET_SIM_PATH)/src/actuator.cpp \
$(ROCKET_SIM_PATH)/src/aerodynamics.cpp \
$(ROCKET_SIM_PATH)/src/class_functions.cpp \
$(ROCKET_SIM_PATH)/src/control.cpp \
$(ROCKET_SIM_PATH)/src/environment.cpp \
$(ROCKET_SIM_PATH)/src/euler.cpp \
$(ROCKET_SIM_PATH)/src/forces.cpp \
$(ROCKET_SIM_PATH)/src/global_functions.cpp \
$(ROCKET_SIM_PATH)/src/gps.cpp \
$(ROCKET_SIM_PATH)/src/guidance.cpp \
$(ROCKET_SIM_PATH)/src/hyper_functions.cpp \
$(ROCKET_SIM_PATH)/src/ins.cpp \
$(ROCKET_SIM_PATH)/src/intercept.cpp \
$(ROCKET_SIM_PATH)/src/kinematics.cpp \
$(ROCKET_SIM_PATH)/src/newton.cpp \
$(ROCKET_SIM_PATH)/src/propulsion.cpp \
$(ROCKET_SIM_PATH)/src/rcs.cpp \
$(ROCKET_SIM_PATH)/src/startrack.cpp \
$(ROCKET_SIM_PATH)/src/tvc.cpp \
$(ROCKET_SIM_PATH)/src/utility_functions.cpp \
$(ROCKET_SIM_PATH)/src/ins_gyro.cpp \
$(ROCKET_SIM_PATH)/src/ins_accl.cpp \
$(ROCKET_SIM_PATH)/src/ins_grav.cpp \
$(ROCKET_SIM_PATH)/src/init_ins.cpp \
$(ROCKET_SIM_PATH)/src/rcs_schmitt.cpp \
$(ROCKET_SIM_PATH)/src/gps_quadriga.cpp \
$(ROCKET_SIM_PATH)/src/gps_sv_init.cpp
SOURCES += $(ROCKET_SIM_PATCH_PATH)/src/malloc_count.cpp
SOURCES += $(ROCKET_SIM_PATCH_PATH)/src/ringbuffer.cpp
OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES))
OBJECTS += $(patsubst %.c, %.o, $(CSOURCES))
TARGET_MALLOC ?= ltalloc
ifeq ($(TARGET_MALLOC),ltalloc)
SHARED_LIBS_SOURCE = $(ROCKET_SIM_PATCH_PATH)/src/ltalloc.cpp
SHARED_LIBS = $(patsubst %.cpp, %.so, $(SHARED_LIBS_SOURCE))
CXXFLAGS += -DLTALLOC
else
#Default is use glibc
SHARED_LIBS_SOURCE =
SHARED_LIBS =
endif
all: $(PROJECT)
deps := $(OBJECTS:%.o=%.o.d)
%.o: %.cpp
$(CXX) $(CXXFLAGS) -o $@ -MMD -MF $@.d -c $<
# %.o: %.c
# $(CC) -c $< -o $@ $(CFLAGS) $(CLIBS)
$(SHARED_LIBS): $(SHARED_LIBS_SOURCE)
$(CXX) $(CXXFLAGS) -fPIC -shared -o $@ $^
$(PROJECT): $(OBJECTS) $(SHARED_LIBS)
$(CXX) -o $@ $(OBJECTS) $(SHARED_LIBS) $(LDFLAGS) -ldl -pthread
run: $(PROJECT)
./$(PROJECT)
clean:
${RM} $(OBJECTS) $(PROJECT) $(deps) $(SHARED_LIBS)
distclean: clean
$(RM) -rf $(BUILDDIR)
$(RM) input_copy.asc tabout.asc doc.asc plot1.asc traj.asc dppl2f.dat
debug :
@echo $(ROCKET_SIM_PATCH_PATH)
-include $(deps)