@@ -19,6 +19,7 @@ PURESCRIPT_PKGS := packages # example: bower_components
1919PURESCRIPT_SRC := src
2020OUTPUT := output
2121BIN := main
22+OBJ := purescript.o
2223
2324override PCCFLAGS += --comments
2425override CXXFLAGS += -std=c++11
@@ -44,6 +45,12 @@ release: codegen
4445debug: codegen
4546 @$(MAKE) $(BIN) CXXFLAGS+=$(DEBUG)
4647
48+release-object: codegen
49+ @$(MAKE) $(OBJ) CXXFLAGS+=$(RELEASE)
50+
51+debug-object: codegen
52+ @$(MAKE) $(OBJ) CXXFLAGS+=$(DEBUG)
53+
4754codegen:
4855 @$(PCC) $(PCCFLAGS) --output $(OUTPUT) $(PURESCRIPT_PKG_SRCS) $(PURESCRIPT_SRCS)
4956
@@ -57,6 +64,11 @@ $(BIN): $(OBJS)
5764 @mkdir -p $(BIN_DIR)
5865 @$(CXX) $^ -o $(BIN_DIR)/$@ $(LDFLAGS)
5966
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+
6072-include $(DEPS)
6173
6274%.o: %.cc