diff options
Diffstat (limited to 'mk')
| -rw-r--r-- | mk/mcd.lib.mk | 34 | ||||
| -rw-r--r-- | mk/mcd.prog.mk | 27 |
2 files changed, 61 insertions, 0 deletions
diff --git a/mk/mcd.lib.mk b/mk/mcd.lib.mk new file mode 100644 index 0000000..433e501 --- /dev/null +++ b/mk/mcd.lib.mk @@ -0,0 +1,34 @@ +OBJS = $(patsubst %.cxx, %.o, \ + $(patsubst %.cpp, %.o, \ + $(patsubst %.cc, %.o, \ + $(patsubst %.c, %.o, $(SRCS))))) + +all: lib$(LIB).a lib$(LIB).so.$(SHLIB_MAJOR).$(SHLIB_MINOR) + +lib$(LIB).a: $(OBJS) + $(AR) rcs $@ $^ + +ifneq ($(SHLIB_MAJOR)$(SHLIB_MINOR),) +SHLIB_CMD = $(CC) $(LDFLAGS) -shared -fPIC -o $@ $^ +endif + +lib$(LIB).so.$(SHLIB_MAJOR).$(SHLIB_MINOR): $(OBJS) + $(SHLIB_CMD) + +clean: + rm -rf $(OBJS) lib$(LIB).a lib$(LIB).so.$(SHLIB_MAJOR).$(SHLIB_MINOR) + +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ + +%.o: %.cxx + $(CXX) $(CXXFLAGS) -c $< -o $@ + +%.o: %.cpp + $(CXX) $(CXXFLAGS) -c $< -o $@ + +%.o: %.cc + $(CXX) $(CXXFLAGS) -c $< -o $@ + +.PHONY: all clean + diff --git a/mk/mcd.prog.mk b/mk/mcd.prog.mk new file mode 100644 index 0000000..5ce212a --- /dev/null +++ b/mk/mcd.prog.mk @@ -0,0 +1,27 @@ +OBJS = $(patsubst %.cxx, %.o, \ + $(patsubst %.cpp, %.o, \ + $(patsubst %.cc, %.o, \ + $(patsubst %.c, %.o, $(SRCS))))) + +all: $(PROG) + +$(PROG): $(OBJS) + $(CC) $(LDFLAGS) -o $@ $^ + +clean: + rm -rf $(PROG) $(OBJS) + +%.o: %.c + $(CC) $(CFLAGS) -c $^ -o $@ + +%.o: %.cxx + $(CXX) $(CXXFLAGS) -c $^ -o $@ + +%.o: %.cpp + $(CXX) $(CXXFLAGS) -c $^ -o $@ + +%.o: %.cc + $(CXX) $(CXXFLAGS) -c $^ -o $@ + +.PHONY: all clean + |
