# # Makefile for src directory # PROJDIR := ../.. include $(PROJDIR)/Make.properties # --------------------------------------------------------------------------- # Module # --------------------------------------------------------------------------- TARGET := XXXXXX SRC_SUFFIX := $(SRC_SUFFIX_CPP) OBJ_SUFFIX := $(OBJ_SUFFIX_O) CC := $(CC_CPP) LINK := $(LINK_CPP) SUFFIX := $(SO_SUFFIX) LFLAGS := $(OPT_SO) CFLAGS := $(OPT_C) LOUT := $(OPT_LOUT) COUT := $(OPT_COUT) # --------------------------------------------------------------------------- # directories # --------------------------------------------------------------------------- SRC_DIR := . OBJ_DIR := . INC_DIR := ./../Include LIB_DIR := # --------------------------------------------------------------------------- # common settings # --------------------------------------------------------------------------- SRCS := $(wildcard $(SRC_DIR)/*$(SRC_SUFFIX)) OBJS := $(patsubst $(SRC_DIR)/%$(SRC_SUFFIX),$(OBJ_DIR)/%$(OBJ_SUFFIX),$(SRCS)) INCS := $(addprefix $(INC_PREFIX), $(INC_DIR)) LIBS := $(addprefix $(LIB_PREFIX), $(LIB_DIR)) TEMPFILES := core core.* *$(OBJ_SUFFIX) temp.* *.out # --------------------------------------------------------------------------- # make rule # --------------------------------------------------------------------------- .PHONY: all clean all: $(TARGET) $(TARGET):$(OBJS) $(CC) $(LFLAGS) $(LOUT) $(TARGET)$(SUFFIX) $(LIBS) $(OBJS) $(OBJS):$(OBJ_DIR)/%$(OBJ_SUFFIX):$(SRC_DIR)/%$(SRC_SUFFIX) $(CC) $(CFLAGS) $(INCS) $(COUT) $@ $< clean: $(RM) $(TARGET)$(SUFFIX) $(OBJS) $(TEMPFILES) # # Makefile for src directory # PROJDIR := .. include $(PROJDIR)/Make.properties # --------------------------------------------------------------------------- # Module # --------------------------------------------------------------------------- TARGET := XXXXXX SRC_SUFFIX := $(SRC_SUFFIX_CPP) OBJ_SUFFIX := $(OBJ_SUFFIX_O) CC := $(CC_CPP) LINK := $(LINK_CPP) SUFFIX := $(SO_SUFFIX) LFLAGS := $(OPT_SO) CFLAGS := $(OPT_C) LOUT := $(OPT_LOUT) COUT := $(OPT_COUT) # --------------------------------------------------------------------------- # directories # --------------------------------------------------------------------------- SRC_DIR := OBJ_DIR := INC_DIR := LIB_DIR := SUBDIR1 := Source SUBDIRS := $(SUBDIR1) # --------------------------------------------------------------------------- # common settings # --------------------------------------------------------------------------- SRCS := $(wildcard $(SRC_DIR)/*$(SRC_SUFFIX)) OBJS := $(patsubst $(SRC_DIR)/%$(SRC_SUFFIX),$(OBJ_DIR)/%$(OBJ_SUFFIX),$(SRCS)) INCS := $(addprefix $(INC_PREFIX), $(INC_DIR)) LIBS := $(addprefix $(LIB_PREFIX), $(LIB_DIR)) TEMPFILES := core core.* *$(OBJ_SUFFIX) temp.* *.out # --------------------------------------------------------------------------- # make rule # --------------------------------------------------------------------------- .PHONY: all subdirs clean all : subdirs subdirs: @for i in $(SUBDIRS); do / echo "===>$$i"; / (cd $$i &&$(MAKE) -f $(MAKEFILE)) || exit 1; / echo "<===$$i"; / done clean: @for i in $(SUBDIRS); do / echo "===>$$i"; / (cd $$i &&$(MAKE) clean -f $(MAKEFILE)) || exit 1; / echo "<===$$i"; / done # # Makefile for Project # PROJDIR := . include $(PROJDIR)/Make.properties # --------------------------------------------------------------------------- # Module # --------------------------------------------------------------------------- TARGET := mobile SRC_SUFFIX := $(SRC_SUFFIX_CPP) OBJ_SUFFIX := $(OBJ_SUFFIX_O) CC := $(CC_CPP) LINK := $(LINK_CPP) SUFFIX := $(BIN_SUFFIX) LFLAGS := CFLAGS := $(OPT_C) LOUT := $(OPT_LOUT) COUT := $(OPT_COUT) # --------------------------------------------------------------------------- # directories # --------------------------------------------------------------------------- SRC_DIR := OBJ_DIR := INC_DIR := LIB_DIR := SUBDIR1 := SUBDIR2 := SUBDIR3 := SUBDIR4 := SUBDIR5 := SUBDIR6 := SUBDIR7 := SUBDIR8 := SUBDIR9 := SUBDIR10 := SUBDIR11 := SUBDIR12 := SUBDIR13 := SUBDIR14 := SUBDIR15 := SUBDIR16 := SUBDIR17 := SUBDIRS := $(SUBDIR1) $(SUBDIR2) $(SUBDIR3) $(SUBDIR4) $(SUBDIR5) $(SUBDIR6) $(SUBDIR7) $(SUBDIR8) $(SUBDIR9) $(SUBDIR10) $(SUBDIR11) $(SUBDIR12) $(SUBDIR13) $(SUBDIR14) $(SUBDIR15) $(SUBDIR16) $(SUBDIR17) # --------------------------------------------------------------------------- # common settings # --------------------------------------------------------------------------- SRCS := $(wildcard $(SRC_DIR)/*$(SRC_SUFFIX)) OBJS := $(patsubst $(SRC_DIR)/%$(SRC_SUFFIX),$(OBJ_DIR)/%$(OBJ_SUFFIX),$(SRCS)) INCS := $(addprefix $(INC_PREFIX), $(INC_DIR)) LIBS := $(addprefix $(LIB_PREFIX), $(LIB_DIR)) TEMPFILES := core core.* *$(OBJ_SUFFIX) temp.* *.out # --------------------------------------------------------------------------- # make rule # --------------------------------------------------------------------------- .PHONY: all subdirs clean lnk all : subdirs lnk subdirs: @for i in $(SUBDIRS); do / echo "===>$$i"; / (cd $$i &&$(MAKE) -f $(MAKEFILE)) || exit 1; / echo "<===$$i"; / done lnk: $(CC) $(LFLAGS) $(LOUT) $(TARGET)$(SUFFIX) $(LIBS) $(OBJS) clean: @for i in $(SUBDIRS); do / echo "===>$$i"; / (cd $$i &&$(MAKE) clean -f $(MAKEFILE)) || exit 1; / echo "<===$$i"; / done MAKEFILE := Makefile # --------------------------------------------------------------------------- # commands # --------------------------------------------------------------------------- CC_C := gcc LINK_C := gcc CC_CPP := g++ LINK_CPP := g++ RM := rm -rf MV := mv TAR := tar MKDIR := mkdir AR := ar # --------------------------------------------------------------------------- # settings # --------------------------------------------------------------------------- SRC_SUFFIX_C := .c SRC_SUFFIX_CPP := .cpp OBJ_SUFFIX_O := .o LIB_SUFFIX := .a BIN_SUFFIX := .exe SO_SUFFIX := .so MAP_SUFFIX := .map INC_PREFIX := -I LIB_PREFIX := -L OPT_C := -c -Wall OPT_COUT := -o OPT_LOUT := -o OPT_AR := cqs OPT_SO := -shared -Wall -fPIC OPT_MAP := -Wl,-Map # --------------------------------------------------------------------------- # Project # --------------------------------------------------------------------------- PROJECT := VERSION :=