git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
C++: add makefile support for combined (bundled) object files
ec342efAndy Arvanitis
pcc/Makefile+12
@@ -19,6 +19,7 @@ PURESCRIPT_PKGS := packages # example: bower_components
19PURESCRIPT_SRC := src
19PURESCRIPT_SRC := src
20OUTPUT := output
20OUTPUT := output
21BIN := main
21BIN := main
22+OBJ := purescript.o
22
23
23override PCCFLAGS += --comments
24override PCCFLAGS += --comments
24override CXXFLAGS += -std=c++11
25override CXXFLAGS += -std=c++11
@@ -44,6 +45,12 @@ release: codegen
44debug: codegen
45debug: codegen
45 @$(MAKE) $(BIN) CXXFLAGS+=$(DEBUG)
46 @$(MAKE) $(BIN) CXXFLAGS+=$(DEBUG)
46
47
48+release-object: codegen
49+ @$(MAKE) $(OBJ) CXXFLAGS+=$(RELEASE)
50+
51+debug-object: codegen
52+ @$(MAKE) $(OBJ) CXXFLAGS+=$(DEBUG)
53+
47codegen:
54codegen:
48 @$(PCC) $(PCCFLAGS) --output $(OUTPUT) $(PURESCRIPT_PKG_SRCS) $(PURESCRIPT_SRCS)
55 @$(PCC) $(PCCFLAGS) --output $(OUTPUT) $(PURESCRIPT_PKG_SRCS) $(PURESCRIPT_SRCS)
49
56
@@ -57,6 +64,11 @@ $(BIN): $(OBJS)
57 @mkdir -p $(BIN_DIR)
64 @mkdir -p $(BIN_DIR)
58 @$(CXX) $^ -o $(BIN_DIR)/$@ $(LDFLAGS)
65 @$(CXX) $^ -o $(BIN_DIR)/$@ $(LDFLAGS)
59
66
67+$(OBJ): $(OBJS)
68+ @echo "Creating combined object file" $(BIN_DIR)/$(OBJ)
69+ @mkdir -p $(BIN_DIR)
70+ @$(LD) -r $^ -o $(BIN_DIR)/$@ $(LDFLAGS)
71+
60-include $(DEPS)
72-include $(DEPS)
61
73
62%.o: %.cc
74%.o: %.cc