forked from nasa/europa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
59 lines (50 loc) · 3.3 KB
/
Makefile
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
TOP_DIR := $(shell pwd)
BUILD_DIR := $(TOP_DIR)/build
SRC_DIR := $(TOP_DIR)/src/PLASMA
RM := rm -rf
DEBUG_PREFIX := _g
OPTIM_PREFIX := _o
FILENAME := Europa
ANML_DIR := $(SRC_DIR)/ANML $(SRC_DIR)/ANML/base $(SRC_DIR)/ANML/component
ConstraintEngine_DIR := $(SRC_DIR)/ConstraintEngine $(SRC_DIR)/ConstraintEngine/base $(SRC_DIR)/ConstraintEngine/component
NDDL_DIR := $(SRC_DIR)/NDDL $(SRC_DIR)/NDDL/base $(SRC_DIR)/NDDL/component
PlanDatabase_DIR := $(SRC_DIR)/PlanDatabase $(SRC_DIR)/PlanDatabase/base $(SRC_DIR)/PlanDatabase/component
Resource_DIR := $(SRC_DIR)/Resource $(SRC_DIR)/Resource/base $(SRC_DIR)/Resource/component
RulesEngine_DIR := $(SRC_DIR)/RulesEngine $(SRC_DIR)/RulesEngine/base $(SRC_DIR)/RulesEngine/component
Solvers_DIR := $(SRC_DIR)/Solvers $(SRC_DIR)/Solvers/base $(SRC_DIR)/Solvers/component
System_DIR := $(SRC_DIR)/System $(SRC_DIR)/System/base $(SRC_DIR)/System/component
TemporalNetwork_DIR := $(SRC_DIR)/TemporalNetwork $(SRC_DIR)/TemporalNetwork/base $(SRC_DIR)/TemporalNetwork/component
TinyXml_DIR := $(SRC_DIR)/TinyXml $(SRC_DIR)/TinyXml/base $(SRC_DIR)/TinyXml/component
Utils_DIR := $(SRC_DIR)/Utils $(SRC_DIR)/Utils/base $(SRC_DIR)/Utils/component
OPTIM := -O2
LIBS = -lpthread
DYLIB_FLAGS = -fPIC -shared
STATIC_LINKED = ar rcs
INC := $(ANML_DIR) $(ConstraintEngine_DIR) $(NDDL_DIR) $(PlanDatabase_DIR) $(Resource_DIR) $(RulesEngine_DIR) \
$(Solvers_DIR) $(System_DIR) $(TemporalNetwork_DIR) $(TinyXml_DIR) $(Utils_DIR)
CPLUS_INCLUDE_PATH += $(INC)
# ANML_C = $(wildcard $(ANML_DIR)/*.cpp) $(wildcard $(ANML_DIR)/*.cc) $(wildcard $(ANML_DIR)/*.c)
# ConstraintEngine_C = $(wildcard $(ConstraintEngine_DIR)/*.cpp) $(wildcard $(ConstraintEngine_DIR)/*.cc) $(wildcard $(ConstraintEngine_DIR)/*.c)
# NDDL_C = $(wildcard $(NDDL_DIR)/*.cpp) $(wildcard $(NDDL_DIR)/*.cc) $(wildcard $(NDDL_DIR)/*.c)
# PlanDatabase_C = $(wildcard $(PlanDatabase_DIR)/*.cpp) $(wildcard $(PlanDatabase_DIR)/*.cc) $(wildcard $(PlanDatabase_DIR)/*.c)
# Resource_C = $(wildcard $(Resource_DIR)/*.cpp) $(wildcard $(Resource_DIR)/*.cc) $(wildcard $(Resource_DIR)/*.c)
# RulesEngine_C = $(wildcard $(Resource_DIR)/*.cpp) $(wildcard $(Resource_DIR)/*.cc) $(wildcard $(Resource_DIR)/*.c)
# Solvers_C = $(wildcard $(Solvers_DIR)/*.cpp) $(wildcard $(Solvers_DIR)/*.cc) $(wildcard $(Solvers_DIR)/*.c)
# System_C = $(wildcard $(System_DIR)/*.cpp) $(wildcard $(System_DIR)/*.cc) $(wildcard $(System_DIR)/*.c)
# TemporalNetwork_C = $(wildcard $(TemporalNetwork_DIR)/*.cpp) $(wildcard $(TemporalNetwork_DIR)/*.cc) $(wildcard $(TemporalNetwork_DIR)/*.c)
# TinyXml_C = $(wildcard $(TinyXml_DIR)/*.cpp) $(wildcard $(TinyXml_DIR)/*.cc) $(wildcard $(TinyXml_DIR)/*.c)
# Utils_C = $(wildcard $(Utils_DIR)/*.cpp) $(wildcard $(Utils_DIR)/*.cc) $(wildcard $(Utils_DIR)/*.c)
SRCS := $(wildcard $(INC)/*.cpp) $(wildcard $(INC)/*.cc) $(wildcard $(INC)/*.c)
SRCS += $(SRC_DIR)/System/base/PSEngine_wrap.h $(SRC_DIR)/System/base/PSEngine_wrap.cc
OBJS := $(pathsubst %.*, %.o, $(SRCS))
debug_dll: $(OBJS)
-mkdir $(BUILD_DIR)
cd $(BUILD_DIR)
$(CXX) $^ -o $(FILENAME)$(DEBUG_PREFIX).so $(DYLIB_FLAGS) $(LIBS)
$(OBJS): %.o : $(SRCS)
swig -java -package psengine -o $(SRC_DIR)/System/base/PSEngine_wrap.cc -Wall -c++ -outdir $(SRC_DIR)/../Java/PSEngine/generated/psengine $(SRC_DIR)/S
ystem/base/PSEngine.i
$(CXX) $(CFLAGS) $< -o $@
.PHONY: clean
clean:
$(RM) $(BUILD_DIR) $(OBJS)