1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Author: Laszlo Kajan <lkajan@rostlab.org>
Description: allow parallel make
Forwarded: http://lists.alioth.debian.org/pipermail/debian-med-packaging/2012-August/016975.html
--- a/cif-parser/Makefile
+++ b/cif-parser/Makefile
@@ -167,7 +167,7 @@ clean_build:
@rm -f $(M_AGR_LIB)
-$(L_MOD_LIB): $(OBJ_FILES)
+$(L_MOD_LIB): $(addprefix obj/,$(OBJ_FILES))
# Create module library
@cd $(OBJ_DIR); $(AR) $(AR_PUTFLAGS) ../$@ $(OBJ_FILES)
cp -f -t $(M_LIB_DIR) $(addprefix $(OBJ_DIR)/,$(OBJ_FILES) $(OBJ_FILES:.o=.lo))
@@ -177,18 +177,21 @@ $(L_MOD_LIB): $(OBJ_FILES)
# Specific rules for making object files
-$(OBJ_DIR)/%Parser.o: $(SRC_DIR)/%Parser.y
- @sh -c 'cd $(SRC_DIR); $(YACC) $(${^F:.y=_YACC_FLAGS}) ../$<'
+obj/%Parser.o $(SRC_DIR)/%Parser.h: $(SRC_DIR)/%Parser.y
+ sh -c 'cd $(SRC_DIR); $(YACC) $(${^F:.y=_YACC_FLAGS}) ../$<'
mv $(^:.y=.tab.c) $(^:.y=.c)
mv $(^:.y=.tab.h) $(^:.y=.h)
- libtool --mode=compile $(CC) $(CFLAGS_NONANSI) -c $(^:.y=.c) -o $@
+ libtool --mode=compile $(CC) $(CFLAGS_NONANSI) -c $(^:.y=.c) -o obj/$(*)Parser.o
-%Scanner.o: $(SRC_DIR)/%Scanner.l $(OBJ_DIR)/%Parser.o
- $(LEX) $($(@F:.o=_LEX_FLAGS)) -t $(SRC_DIR)/$(@:.o=.l) > $(SRC_DIR)/$(@F:.o=.c)
- libtool --mode=compile $(CC) $(CFLAGS_NONANSI) -c $(SRC_DIR)/$(@F:.o=.c) -o $(OBJ_DIR)/$@
+obj/%Scanner.o: $(SRC_DIR)/%Scanner.l $(OBJ_DIR)/%Parser.o $(SRC_DIR)/%Parser.h
+ $(LEX) $($(@F:.o=_LEX_FLAGS)) -t $(SRC_DIR)/$(@F:.o=.l) > $(SRC_DIR)/$(@F:.o=.c)
+ libtool --mode=compile $(CC) $(CFLAGS_NONANSI) -c $(SRC_DIR)/$(@F:.o=.c) -o $(OBJ_DIR)/$(@F)
# Rule for making other object files
-%.o: $(SRC_DIR)/%.C
- libtool --mode=compile $(CCC) $(C++FLAGS) -c $< -o $(OBJ_DIR)/$@
+obj/%ScannerBase.o: $(SRC_DIR)/%ScannerBase.C $(SRC_DIR)/%Parser.h
+ libtool --mode=compile $(CCC) $(C++FLAGS) -c $< -o $(OBJ_DIR)/$(@F)
+
+obj/%.o: $(SRC_DIR)/%.C
+ libtool --mode=compile $(CCC) $(C++FLAGS) -c $< -o $(OBJ_DIR)/$(@F)
--- a/dict-obj-file/Makefile
+++ b/dict-obj-file/Makefile
@@ -111,7 +111,10 @@ all: install
# Installation
-install: $(TARGETS)
+install: $(TARGETS) $(M_BIN_DIR)/$(TARGET_SCRIPTS)
+
+$(M_BIN_DIR)/$(TARGET_SCRIPTS): $(L_BIN_DIR)/$(TARGET_SCRIPTS)
+ cp -f $(L_BIN_DIR)/$(TARGET_SCRIPTS) $(M_BIN_DIR)/$(TARGET_SCRIPTS)
# Test
@@ -141,7 +144,6 @@ clean: clean_build clean_test
%: $(OBJ_DIR)/%.o $(M_MOD_LIB) $(ALL_DEP_LIBS)
$(CCC) $(LDFLAGS) $< $(M_MOD_LIB) $(ALL_DEP_LIBS) $(MALLOCLIB) -lm -o $(L_BIN_DIR)/$@
@cp -f $(L_BIN_DIR)/$@ $(M_BIN_DIR)/$@
- @cp -f $(L_BIN_DIR)/$(TARGET_SCRIPTS) $(M_BIN_DIR)/$(TARGET_SCRIPTS)
# Rule for build cleaning
|