diff options
Diffstat (limited to 'makefiles/subdir.mk')
-rw-r--r-- | makefiles/subdir.mk | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/makefiles/subdir.mk b/makefiles/subdir.mk new file mode 100644 index 0000000..63e66bf --- /dev/null +++ b/makefiles/subdir.mk @@ -0,0 +1,41 @@ +include $(ROOTDIR)/makefiles/config.mk + +INCLUDE = $(ZINCLUDE) $(EXTERNAL_INCLUDE) + +HEADERS = $(wildcard *.h) +SOURCES_CPP = $(wildcard *.cpp) +SOURCES_OBJCPP = $(wildcard *.M) +SOURCES_OBJC = $(wildcard *.m) +OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES_CPP)) $(patsubst %.M, %.o, $(SOURCES_OBJCPP)) $(patsubst %.m, %.o, $(SOURCES_OBJC)) + +.SUFFIXES: .cpp .M .m .o .h + +.cpp.o: + $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(INCLUDE) $< + +.M.o: + @echo -n 'Compiling $@ ...' +ifdef CFLAGS_NOARCH + @$(CC) -MM $(CFLAGS_PRE) $(INCLUDE) $< -o `basename $< .M`.d + @$(CC) -c $(CFLAGS) $(INCLUDE) $< +else + @$(CC) -MMD -c $(CFLAGS) $(INCLUDE) $< +endif + @echo ' OK' + +.m.o: + @echo -n 'Compiling $@ ...' +ifdef CFLAGS_NOARCH + @$(CC) -MM $(CFLAGS_PRE) $(INCLUDE) $< -o `basename $< .m`.d + @$(CC) -c $(CFLAGS) $(INCLUDE) $< +else + @$(CC) -MMD -c $(CFLAGS) $(INCLUDE) $< +endif + @echo ' OK' + +all: $(OBJECTS) + +clean: + @$(RM) *.o *.s *.ld *.d + +-include *.d |