How to write a simple Makefile

ENVDIR = (SOME PLACE)/ws     # the project environment
include    $(ENVDIR)/tpmakeenv   # predefinition by the environment

# directory for output files
OS_OBJDIR = (SOME PLACE)/lib

# directory for source files
OS_SRCDIR = ../src/libjpeg

# TARGET LIB FILE
OS_TARGET = $(OS_OBJDIR)/libjpeg.a

# object files
OS_COBJECTS = $(OS_SRCDIR)/cdjpeg.o /
... # other JPEG source files
$(OS_SRCDIR)/djpeg_intf.o  # the last JPEG source file       


all: $(OS_TARGET)    # the main task(s), it depends on the task OS_COBJECTS

$(OS_COBJECTS):%.o:%.c  # associate .o files to .c files with same base name.
    $(OS_CC) -c $(OS_CFLAGS) $(OPENMAX_MACRO_SWITCH) $(OS_LOCAL_CFLAGS) $(OS_INCLUDES) $(OS_LOCAL_INCLUDE) $< -o $@

$(OS_TARGET):$(OS_COBJECTS)
    $(OS_AR) $(OS_AR_OPT) $@ $^

.PHONY:
clean:
    $(OS_RM) $(OS_COBJECTS) $(OS_TARGET)

posted @ 2008-10-07 09:50  quanben  阅读(150)  评论(0)    收藏  举报