Automatic creation of building directories during make

This commit is contained in:
Sebastien Lugan 2004-02-12 16:07:03 +00:00
parent 64bef6ba0a
commit a9cede2d5e
2 changed files with 29 additions and 7 deletions

View File

@ -22,13 +22,15 @@ ifdef MINGW32
OBJ_DIR = $(OBJ_DIR_W32) OBJ_DIR = $(OBJ_DIR_W32)
BIN_DIR = $(BIN_DIR_W32) BIN_DIR = $(BIN_DIR_W32)
LIB_DIR = lib.w32 LIB_DIR = lib.w32
all: $(addprefix $(BIN_DIR)/,j2k_to_image.exe image_to_j2k.exe) all: $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) \
$(addprefix $(BIN_DIR)/,j2k_to_image.exe image_to_j2k.exe)
else else
CC = gcc CC = gcc
OBJ_DIR = obj OBJ_DIR = obj
BIN_DIR = bin BIN_DIR = bin
LIB_DIR = lib LIB_DIR = lib
all: $(addprefix $(BIN_DIR)/,j2k_to_image image_to_j2k) all: $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) \
$(addprefix $(BIN_DIR)/,j2k_to_image image_to_j2k)
endif endif
ifdef DYNAMIC ifdef DYNAMIC
@ -44,14 +46,26 @@ else
LDFLAGS += $(LIB_OPENJPEG) LDFLAGS += $(LIB_OPENJPEG)
endif endif
$(BIN_DIR):
mkdir $(BIN_DIR)
$(OBJ_DIR):
mkdir $(OBJ_DIR)
$(LIB_DIR):
mkdir $(LIB_DIR)
$(LIB_DIR)/libopenjpeg.dll: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll $(LIB_DIR)/libopenjpeg.dll: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll
ln -sf ../$< $@ ln -sf ../$< $@
$(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll:
cd $(OPENJPEG_DIR) && $(MAKE) $(LIB_DIR)/libopenjpeg.dll cd $(OPENJPEG_DIR) && \
$(MAKE) $(OBJ_DIR) $(LIB_DIR) $(LIB_DIR)/libopenjpeg.dll
$(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.a: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.a:
cd $(OPENJPEG_DIR) && $(MAKE) $(LIB_DIR)/libopenjpeg.a cd $(OPENJPEG_DIR) && \
$(MAKE) $(OBJ_DIR) $(LIB_DIR) $(LIB_DIR)/libopenjpeg.a
$(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.so: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.so:
cd $(OPENJPEG_DIR) && $(MAKE) $(LIB_DIR)/libopenjpeg.so cd $(OPENJPEG_DIR) && \
$(MAKE) $(LIB_DIR) $(LIB_DIR)/libopenjpeg.so
$(OBJ_DIR)/%.o: $(OBJ_DIR)/%.o:
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

View File

@ -18,15 +18,23 @@ ifdef MINGW32
AR = i386-mingw32-ar AR = i386-mingw32-ar
OBJ_DIR = $(OBJ_DIR_W32) OBJ_DIR = $(OBJ_DIR_W32)
LIB_DIR = $(LIB_DIR_W32) LIB_DIR = $(LIB_DIR_W32)
all: $(LIB_DIR)/libopenjpeg.a $(LIB_DIR)/libopenjpeg.dll all: $(OBJ_DIR) $(LIB_DIR) \
$(LIB_DIR)/libopenjpeg.a $(LIB_DIR)/libopenjpeg.dll
else else
CC = gcc CC = gcc
AR = ar AR = ar
OBJ_DIR = obj OBJ_DIR = obj
LIB_DIR = lib LIB_DIR = lib
all: $(LIB_DIR)/libopenjpeg.a $(LIB_DIR)/libopenjpeg.so all: $(OBJ_DIR) $(LIB_DIR) \
$(LIB_DIR)/libopenjpeg.a $(LIB_DIR)/libopenjpeg.so
endif endif
$(OBJ_DIR):
mkdir $(OBJ_DIR)
$(LIB_DIR):
mkdir $(LIB_DIR)
$(OBJ_DIR)/%.o: $(OBJ_DIR)/%.o:
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<