be75a466b7
It's very annoying to have to build libmaple projects in-tree. Users are just copying the repository everywhere. That's stupid. So I made this: https://github.com/mbolivar/example-libmaple-project It needs these patches to work. Add a header and footer for rules.mk files, so we can change them around and things will continue to work for the users, who just include them. In Makefile, add USER_MODULES to LIBMAPLE_MODULES if it's nonempty. This is the hook you use to get your code compiled and linked correctly. Hack build-targets.mk for stupid reasons I hope to fix later. For now, you'll need an empty main.cpp in BOTH the libmaple directory and your directory if you want things to work the way you'd expect. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
19 lines
596 B
Makefile
19 lines
596 B
Makefile
sFILES_$(d) := $(sSRCS_$(d):%=$(d)/%)
|
|
cFILES_$(d) := $(cSRCS_$(d):%=$(d)/%)
|
|
cppFILES_$(d) := $(cppSRCS_$(d):%=$(d)/%)
|
|
|
|
OBJS_$(d) := $(sFILES_$(d):%.S=$(BUILD_PATH)/%.o) \
|
|
$(cFILES_$(d):%.c=$(BUILD_PATH)/%.o) \
|
|
$(cppFILES_$(d):%.cpp=$(BUILD_PATH)/%.o)
|
|
DEPS_$(d) := $(OBJS_$(d):%.o=%.d)
|
|
|
|
$(OBJS_$(d)): TGT_CFLAGS := $(CFLAGS_$(d))
|
|
$(OBJS_$(d)): TGT_CXXFLAGS := $(CXXFLAGS_$(d))
|
|
$(OBJS_$(d)): TGT_ASFLAGS := $(ASFLAGS_$(d))
|
|
|
|
TGT_BIN += $(OBJS_$(d))
|
|
|
|
-include $(DEPS_$(d))
|
|
d := $(dirstack_$(sp))
|
|
sp := $(basename $(sp))
|