-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split Makefile into several makefiles
Since before the merge d6d2908 (huge GUI refactorization), the old API of Julia interfaces offered to call the GUI. Since, this merge is was not possible since Petri net and GUI have been separated. It's now a better idea to have 3 libraries: - core for managing Petri nets without GUI; -- GUI for editor using Petri nets; -- Julia interface.
- Loading branch information
1 parent
566cb8e
commit da41e40
Showing
7 changed files
with
259 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,7 @@ petri.json | |
build/ | ||
doc/coverage/ | ||
external/*/ | ||
src/*/VERSION.txt | ||
|
||
# LaTeX | ||
*.aux | ||
|
Submodule .makefile
updated
5 files
+5 −8 | Makefile.flags | |
+2 −2 | Makefile.footer | |
+13 −2 | Makefile.header | |
+42 −35 | Makefile.macros | |
+89 −70 | README.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
################################################### | ||
# Project definition | ||
# | ||
PROJECT = TimedPetriNetEditor | ||
STANDARD = --std=c++14 | ||
BUILD_TYPE = release | ||
|
||
################################################### | ||
# Reduce warnings | ||
# | ||
CCFLAGS += -Wno-sign-conversion -Wno-float-equal | ||
CXXFLAGS += -Wno-undef -Wno-switch-enum -Wno-enum-compare | ||
CXXFLAGS += -Wshadow | ||
|
||
################################################### | ||
# Project defines | ||
# | ||
DEFINES += -DDATADIR=\"$(DATADIR):$(abspath $(P))/data/:data/\" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
################################################### | ||
# Location of the project directory and Makefiles | ||
# | ||
P := ../.. | ||
M := $(P)/.makefile | ||
|
||
################################################### | ||
# Project definition | ||
# | ||
include $(P)/Makefile.common | ||
TARGET = TimedPetriNetGui | ||
DESCRIPTION = Library for the GUI of the Timed Petri Net Editor | ||
|
||
################################################### | ||
# Sharable informations between all Makefiles | ||
# | ||
include $(M)/Makefile.header | ||
|
||
################################################### | ||
# For the moment we only use Dear ImGui | ||
# | ||
include ./DearImGui/Makefile.imgui | ||
|
||
################################################### | ||
# Make the list of compiled files for the library | ||
# | ||
VPATH += $(P)/include $(P)/src $(P)/src/Utils $(P)/src/Net | ||
VPATH += $(P)/src/Net/Imports $(P)/src/Net/Exports | ||
INCLUDES += -I$(P)/include -I$(P)/src -I$(P)/external | ||
LIB_OBJS += $(GUI_OBJS) Drawable.o Application.o Editor.o | ||
|
||
################################################### | ||
# Compile the project, the static and shared libraries | ||
# | ||
.PHONY: all | ||
all: $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) $(PKG_FILE) $(P)/Makefile $(P)/Makefile.common | ||
|
||
################################################### | ||
# Install project. You need to be root. | ||
.PHONY: install | ||
install: $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) $(PKG_FILE) | ||
@$(call INSTALL_PROJECT_LIBRARIES) | ||
|
||
################################################### | ||
# Sharable informations between all Makefiles | ||
# | ||
include $(M)/Makefile.footer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
################################################### | ||
# Location of the project directory and Makefiles | ||
# | ||
P := ../.. | ||
M := $(P)/.makefile | ||
|
||
################################################### | ||
# Project definition | ||
# | ||
include $(P)/Makefile.common | ||
TARGET = TimedPetriNetCore | ||
DESCRIPTION = Library for the Core of the Timed Petri Net Editor | ||
|
||
################################################### | ||
# Location of the project directory and Makefiles | ||
# | ||
include $(M)/Makefile.header | ||
|
||
################################################### | ||
# Set MQTT Library. | ||
# | ||
ifneq ($(ARCHI),Emscripten) | ||
INCLUDES += -I$(THIRDPART) -I$(THIRDPART)/MQTT/include | ||
VPATH += $(THIRDPART)/MQTT/src | ||
DEFINES += -DMQTT_BROKER_ADDR=\"localhost\" | ||
DEFINES += -DMQTT_BROKER_PORT=1883 | ||
PKG_LIBS += libmosquitto | ||
endif | ||
|
||
################################################### | ||
# Set json ibrary. | ||
# | ||
INCLUDES += -I$(THIRDPART)/json/include | ||
|
||
################################################### | ||
# Set xml Library. | ||
# | ||
VPATH += $(THIRDPART)/tinyxml2 | ||
LIB_OBJS += tinyxml2.o | ||
|
||
################################################### | ||
# Inform Makefile where to find *.cpp files | ||
# | ||
VPATH += $(P)/include $(P)/src $(P)/src/Utils $(P)/src/Net | ||
VPATH += $(P)/src/Net/Imports $(P)/src/Net/Exports | ||
|
||
################################################### | ||
# Inform Makefile where to find header files | ||
# | ||
INCLUDES += -I$(P)/include -I$(P)/src -I$(P)/external | ||
|
||
################################################### | ||
# Linkage | ||
# | ||
LINKER_FLAGS += -ldl -lpthread | ||
|
||
################################################### | ||
# Make the list of compiled files for the library | ||
# | ||
IMPORT_FORMATS += ImportJSON.o ImportPNML.o ImportTimedEventGraph.o ExportTimedEventGraph.o | ||
EXPORT_FORMATS += ExportJSON.o ExportPNML.o ExportSymfony.o ExportPnEditor.o | ||
EXPORT_FORMATS += ExportPetriLaTeX.o ExportJulia.o ExportGraphviz.o ExportDrawIO.o | ||
EXPORT_FORMATS += ExportGrafcetCpp.o | ||
LIB_OBJS += Path.o Howard.o Utils.o TimedTokens.o Receptivities.o | ||
LIB_OBJS += PetriNet.o Algorithms.o Simulation.o History.o | ||
LIB_OBJS += $(IMPORT_FORMATS) Imports.o $(EXPORT_FORMATS) Exports.o | ||
|
||
################################################### | ||
# Compile the project, the static and shared libraries | ||
.PHONY: all | ||
all: $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) $(PKG_FILE) $(P)/Makefile $(P)/Makefile.common | ||
|
||
################################################### | ||
# Install project. You need to be root. | ||
.PHONY: install | ||
install: $(STATIC_LIB_TARGET) $(SHARED_LIB_TARGET) $(PKG_FILE) | ||
@$(call INSTALL_PROJECT_LIBRARIES) | ||
|
||
################################################### | ||
# Sharable informations between all Makefiles | ||
# | ||
include $(M)/Makefile.footer |
Oops, something went wrong.