gnu make功能很强,网上容易找到,借花献佛一下:
Makefile文件配置示例:
MKDIR= /bin/mkdir
CP = /bin/cp
RM = /bin/rm -rf
MV = /bin/mv
JAVA_HOME = /usr/java/jdk1.5.0_22
TARGET = pub
WEB_FOLDER = web
SRC_FOLDER = src
LIB_FOLDER = lib
SRC_FILES = $(SRC_FOLDER)/com/bean/*.java \
$(SRC_FOLDER)/com/business/*.java
CLASSPATH = $(LIB_FOLDER)/cglib-nodep-2.1_3.jar: \
$(LIB_FOLDER)/commons-beanutils-1.8.3.jar: \
$(LIB_FOLDER)/commons-collections-3.2.1.jar: \
$(LIB_FOLDER)/commons-dbcp.jar: \
$(LIB_FOLDER)/commons-lang-2.5.jar: \
$(LIB_FOLDER)/commons-logging-1.1.1.jar: \
$(LIB_FOLDER)/commons-pool.jar
all:
$(RM) $(TARGET)/*
$(CP) -R $(WEB_FOLDER)/* $(TARGET)
$(MKDIR) -p $(TARGET)/WEB-INF/classes
$(MKDIR) -p $(TARGET)/WEB-INF/lib
$(CP) $(LIB_FOLDER)/* $(TARGET)/WEB-INF/lib
for n in $(SRC_FILES); do \
echo compiling $$n ...; \
$(JAVA_HOME)/bin/javac -cp `echo $(CLASSPATH) | sed 's/[ ]//g'`
-sourcepath $(SRC_FOLDER) -d $(TARGET)/WEB-INF/classes $$n || exit 1; \
done
$(CP) $(SRC_FOLDER)/*.properties $(TARGET)/WEB-INF/classes
$(CP) $(SRC_FOLDER)/com/bean/*.xml $(TARGET)/WEB-INF/classes/com/bean/
clean:
-$(RM) $(TARGET)
你可以简化一下。