diff --git a/Makefile b/svg-flatten/Makefile similarity index 58% rename from Makefile rename to svg-flatten/Makefile index 541af04..00a17dd 100644 --- a/Makefile +++ b/svg-flatten/Makefile @@ -4,6 +4,7 @@ LD := ld PKG_CONFIG ?= pkg-config BUILDDIR ?= build +UPSTREAM_DIR ?= ../upstream SOURCES := src/svg_color.cpp \ src/svg_doc.cpp \ @@ -20,15 +21,16 @@ SOURCES := src/svg_color.cpp \ src/out_flattener.cpp \ src/out_dilater.cpp \ src/lambda_sink.cpp \ + $(UPSTREAM_DIR)/cpp-base64/base64.cpp -CLIPPER_SOURCES ?= upstream/clipper-6.4.2/cpp/clipper.cpp upstream/clipper-6.4.2/cpp/cpp_cairo/cairo_clipper.cpp -CLIPPER_INCLUDES ?= -Iupstream/clipper-6.4.2/cpp -Iupstream/clipper-6.4.2/cpp/cpp_cairo/ -VORONOI_INCLUDES ?= -Iupstream/voronoi/src -POISSON_INCLUDES ?= -Iupstream/poisson-disk-sampling/thinks/poisson_disk_sampling/ -BASE64_INCLUDES ?= -Iupstream/cpp-base64 -ARGAGG_INCLUDES ?= -Iupstream/argagg/include/argagg -CAVC_INCLUDES ?= -Iupstream/CavalierContours/include/cavc/ -SUBPROCESS_INCLUDES ?= -Iupstream/subprocess.h +CLIPPER_SOURCES ?= $(UPSTREAM_DIR)/clipper-6.4.2/cpp/clipper.cpp $(UPSTREAM_DIR)/clipper-6.4.2/cpp/cpp_cairo/cairo_clipper.cpp +CLIPPER_INCLUDES ?= -I$(UPSTREAM_DIR)/clipper-6.4.2/cpp -I$(UPSTREAM_DIR)/clipper-6.4.2/cpp/cpp_cairo/ +VORONOI_INCLUDES ?= -I$(UPSTREAM_DIR)/voronoi/src +POISSON_INCLUDES ?= -I$(UPSTREAM_DIR)/poisson-disk-sampling/thinks/poisson_disk_sampling/ +BASE64_INCLUDES ?= -I$(UPSTREAM_DIR)/cpp-base64 +ARGAGG_INCLUDES ?= -I$(UPSTREAM_DIR)/argagg/include/argagg +CAVC_INCLUDES ?= -I$(UPSTREAM_DIR)/CavalierContours/include/cavc/ +SUBPROCESS_INCLUDES ?= -I$(UPSTREAM_DIR)/subprocess.h SOURCES += $(CLIPPER_SOURCES) INCLUDES := -Iinclude -Isrc $(CLIPPER_INCLUDES) $(VORONOI_INCLUDES) $(POISSON_INCLUDES) $(BASE64_INCLUDES) $(ARGAGG_INCLUDES) $(CAVC_INCLUDES) $(SUBPROCESS_INCLUDES) @@ -39,18 +41,15 @@ CXXFLAGS += $(shell $(PKG_CONFIG) --cflags pangocairo pugixml opencv4) LDFLAGS := -lm -lc -lstdc++ LDFLAGS += $(shell $(PKG_CONFIG) --libs pangocairo pugixml opencv4) -TARGET := svg-render +TARGET := svg-flatten all: $(BUILDDIR)/$(TARGET) -test.gbr test.svg &: render - ./render test.svg > test.gbr - $(BUILDDIR)/%.o: %.cpp @mkdir -p $(dir $@) $(CXX) -c $(CXXFLAGS) $(CXXFLAGS) $(INCLUDES) -o $@ $^ -$(BUILDDIR)/$(TARGET): $(SOURCES:%.cpp=$(BUILDDIR)/%.o) $(BUILDDIR)/upstream/cpp-base64/base64.o +$(BUILDDIR)/$(TARGET): $(SOURCES:%.cpp=$(BUILDDIR)/%.o) @mkdir -p $(dir $@) $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ diff --git a/include/gerbolyze.hpp b/svg-flatten/include/gerbolyze.hpp similarity index 100% rename from include/gerbolyze.hpp rename to svg-flatten/include/gerbolyze.hpp diff --git a/src/lambda_sink.cpp b/svg-flatten/src/lambda_sink.cpp similarity index 100% rename from src/lambda_sink.cpp rename to svg-flatten/src/lambda_sink.cpp diff --git a/src/main.cpp b/svg-flatten/src/main.cpp similarity index 100% rename from src/main.cpp rename to svg-flatten/src/main.cpp diff --git a/src/out_dilater.cpp b/svg-flatten/src/out_dilater.cpp similarity index 100% rename from src/out_dilater.cpp rename to svg-flatten/src/out_dilater.cpp diff --git a/src/out_flattener.cpp b/svg-flatten/src/out_flattener.cpp similarity index 100% rename from src/out_flattener.cpp rename to svg-flatten/src/out_flattener.cpp diff --git a/src/out_gerber.cpp b/svg-flatten/src/out_gerber.cpp similarity index 100% rename from src/out_gerber.cpp rename to svg-flatten/src/out_gerber.cpp diff --git a/src/out_sexp.cpp b/svg-flatten/src/out_sexp.cpp similarity index 100% rename from src/out_sexp.cpp rename to svg-flatten/src/out_sexp.cpp diff --git a/src/out_svg.cpp b/svg-flatten/src/out_svg.cpp similarity index 100% rename from src/out_svg.cpp rename to svg-flatten/src/out_svg.cpp diff --git a/src/svg_color.cpp b/svg-flatten/src/svg_color.cpp similarity index 100% rename from src/svg_color.cpp rename to svg-flatten/src/svg_color.cpp diff --git a/src/svg_color.h b/svg-flatten/src/svg_color.h similarity index 100% rename from src/svg_color.h rename to svg-flatten/src/svg_color.h diff --git a/src/svg_doc.cpp b/svg-flatten/src/svg_doc.cpp similarity index 100% rename from src/svg_doc.cpp rename to svg-flatten/src/svg_doc.cpp diff --git a/src/svg_geom.cpp b/svg-flatten/src/svg_geom.cpp similarity index 100% rename from src/svg_geom.cpp rename to svg-flatten/src/svg_geom.cpp diff --git a/src/svg_geom.h b/svg-flatten/src/svg_geom.h similarity index 100% rename from src/svg_geom.h rename to svg-flatten/src/svg_geom.h diff --git a/src/svg_import_defs.h b/svg-flatten/src/svg_import_defs.h similarity index 100% rename from src/svg_import_defs.h rename to svg-flatten/src/svg_import_defs.h diff --git a/src/svg_import_util.cpp b/svg-flatten/src/svg_import_util.cpp similarity index 100% rename from src/svg_import_util.cpp rename to svg-flatten/src/svg_import_util.cpp diff --git a/src/svg_import_util.h b/svg-flatten/src/svg_import_util.h similarity index 100% rename from src/svg_import_util.h rename to svg-flatten/src/svg_import_util.h diff --git a/src/svg_path.cpp b/svg-flatten/src/svg_path.cpp similarity index 100% rename from src/svg_path.cpp rename to svg-flatten/src/svg_path.cpp diff --git a/src/svg_path.h b/svg-flatten/src/svg_path.h similarity index 100% rename from src/svg_path.h rename to svg-flatten/src/svg_path.h diff --git a/src/svg_pattern.cpp b/svg-flatten/src/svg_pattern.cpp similarity index 100% rename from src/svg_pattern.cpp rename to svg-flatten/src/svg_pattern.cpp diff --git a/src/svg_pattern.h b/svg-flatten/src/svg_pattern.h similarity index 100% rename from src/svg_pattern.h rename to svg-flatten/src/svg_pattern.h diff --git a/src/vec_core.cpp b/svg-flatten/src/vec_core.cpp similarity index 100% rename from src/vec_core.cpp rename to svg-flatten/src/vec_core.cpp diff --git a/src/vec_core.h b/svg-flatten/src/vec_core.h similarity index 100% rename from src/vec_core.h rename to svg-flatten/src/vec_core.h diff --git a/src/vec_grid.cpp b/svg-flatten/src/vec_grid.cpp similarity index 100% rename from src/vec_grid.cpp rename to svg-flatten/src/vec_grid.cpp diff --git a/src/vec_grid.h b/svg-flatten/src/vec_grid.h similarity index 100% rename from src/vec_grid.h rename to svg-flatten/src/vec_grid.h