Skip to content

Commit

Permalink
cross platform fix: use gmkdir on Windows, MinGW
Browse files Browse the repository at this point in the history
  • Loading branch information
jiazhongye committed Oct 10, 2014
1 parent 4a0fc46 commit c97871a
Show file tree
Hide file tree
Showing 15 changed files with 70 additions and 57 deletions.
51 changes: 32 additions & 19 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,19 @@ DEBUG = -DDEBUG -g
BASE_DIR = .
include Makefile.common

#================================================================
#
# cross platform configurations
#
#================================================================

ifeq ($(OS),Windows_NT)
#use good old GNU mkdir instead of MSDOS mkdir on Windows
MKDIR=gmkdir -p
else
MKDIR=mkdir -p
endif

#================================================================
#
# compiler commands
Expand Down Expand Up @@ -133,43 +146,43 @@ LEARNING_OBJECTS = $(OBJECT_DIR)/learning/dbn.o
OBJECTS = $(OBJECT_DIR)/reader.o $(OBJECT_DIR)/writer.o $(OBJECT_DIR)/options.o $(LINGUISTICS_OBJECTS) $(LEARNING_OBJECTS)

$(OBJECT_DIR)/%.o: $(SRC_LIBS)/%.cpp $(SRC_INCLUDES)/%.h
mkdir -p $(OBJECT_DIR)
mkdir -p $(OBJECT_DIR)/linguistics
mkdir -p $(OBJECT_DIR)/learning
$(MKDIR) $(OBJECT_DIR)
$(MKDIR) $(OBJECT_DIR)/linguistics
$(MKDIR) $(OBJECT_DIR)/learning
$(CXX) $(CXXFLAGS) -c $< -o $@

all: zpar

# the directories
$(OBJECT_DIR):
mkdir -p $(OBJECT_DIR)
$(MKDIR) $(OBJECT_DIR)
$(DIST_DIR):
mkdir -p $(DIST_DIR)
$(MKDIR) $(DIST_DIR)

# tagger
SRC_TAGGER = $(SRC_CHINESE)/tagger
DIST_TAGGER = $(DIST_DIR)/chinese.postagger
OBJECT_TAGGER = $(OBJECT_DIR)/chinese.postagger
$(DIST_TAGGER):
mkdir $(DIST_TAGGER)
$(MKDIR) $(DIST_TAGGER)
$(OBJECT_TAGGER):
mkdir $(OBJECT_TAGGER)
$(MKDIR) $(OBJECT_TAGGER)

SRC_ENGLISH_TAGGER = $(SRC_COMMON)/tagger
DIST_ENGLISH_TAGGER = $(DIST_DIR)/english.postagger
OBJECT_ENGLISH_TAGGER = $(OBJECT_DIR)/english.postagger
$(DIST_ENGLISH_TAGGER):
mkdir $(DIST_ENGLISH_TAGGER)
$(MKDIR) $(DIST_ENGLISH_TAGGER)
$(OBJECT_ENGLISH_TAGGER):
mkdir $(OBJECT_ENGLISH_TAGGER)
$(MKDIR) $(OBJECT_ENGLISH_TAGGER)

SRC_SPANISH_TAGGER = $(SRC_COMMON)/tagger
DIST_SPANISH_TAGGER = $(DIST_DIR)/spanish.postagger
OBJECT_SPANISH_TAGGER = $(OBJECT_DIR)/spanish.postagger
$(DIST_SPANISH_TAGGER):
mkdir $(DIST_SPANISH_TAGGER)
$(MKDIR) $(DIST_SPANISH_TAGGER)
$(OBJECT_SPANISH_TAGGER):
mkdir $(OBJECT_SPANISH_TAGGER)
$(MKDIR) $(OBJECT_SPANISH_TAGGER)

# depparser
SRC_COMMON_DEPPARSER = $(SRC_COMMON)/depparser
Expand Down Expand Up @@ -226,14 +239,14 @@ else
endif

$(DIST_CONPARSER):
mkdir -p $(DIST_CONPARSER)
$(MKDIR) $(DIST_CONPARSER)
$(OBJECT_CONPARSER):
mkdir -p $(OBJECT_CONPARSER)
$(MKDIR) $(OBJECT_CONPARSER)

$(DIST_DEPLABELER):
mkdir $(DIST_DEPLABELER)
$(MKDIR) $(DIST_DEPLABELER)
$(OBJECT_DEPLABELER):
mkdir $(OBJECT_DEPLABELER)
$(MKDIR) $(OBJECT_DEPLABELER)

# the flags for train
ifeq ($(CHINESE_TAGGER_IMPL), segmented) # if segmented
Expand Down Expand Up @@ -268,17 +281,17 @@ endif
#====================================================

$(DIST_DEPPARSER):
mkdir $(DIST_DEPPARSER)
$(MKDIR) $(DIST_DEPPARSER)
$(OBJECT_DEPPARSER):
mkdir $(OBJECT_DEPPARSER)
$(MKDIR) $(OBJECT_DEPPARSER)

SRC_SEGMENTOR = $(SRC_CHINESE)/segmentor
DIST_SEGMENTOR = $(DIST_DIR)/segmentor
OBJECT_SEGMENTOR = $(OBJECT_DIR)/segmentor
$(DIST_SEGMENTOR):
mkdir $(DIST_SEGMENTOR)
$(MKDIR) $(DIST_SEGMENTOR)
$(OBJECT_SEGMENTOR):
mkdir $(OBJECT_SEGMENTOR)
$(MKDIR) $(OBJECT_SEGMENTOR)

include Makefile.zpar.zh
include Makefile.zpar.en
Expand Down
4 changes: 2 additions & 2 deletions Makefile.ccg
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ OBJECT_GENERIC_CCGPARSER = $(OBJECT_DIR)/generic.ccgparser
#===================================================================

$(DIST_GENERIC_CCGPARSER):
mkdir $(DIST_GENERIC_CCGPARSER)
$(MKDIR) $(DIST_GENERIC_CCGPARSER)
$(OBJECT_GENERIC_CCGPARSER):
mkdir $(OBJECT_GENERIC_CCGPARSER)
$(MKDIR) $(OBJECT_GENERIC_CCGPARSER)
generic.ccgparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_DIR)/pos.ge.o $(OBJECT_DIR)/cfg.ge.o $(OBJECT_GENERIC_CCGPARSER) $(DIST_GENERIC_CCGPARSER) $(DIST_GENERIC_CCGPARSER)/conparser $(DIST_GENERIC_CCGPARSER)/train
@echo The generic CCG parser system is compiled successfully into $(DIST_GENERIC_CCGPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.en.conparser
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
DIST_ENGLISH_CONPARSER = $(DIST_DIR)/english.conparser
OBJECT_ENGLISH_CONPARSER = $(OBJECT_DIR)/english.conparser
$(DIST_ENGLISH_CONPARSER):
mkdir $(DIST_ENGLISH_CONPARSER)
$(MKDIR) $(DIST_ENGLISH_CONPARSER)
$(OBJECT_ENGLISH_CONPARSER):
mkdir $(OBJECT_ENGLISH_CONPARSER)
$(MKDIR) $(OBJECT_ENGLISH_CONPARSER)
english.conparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_ENGLISH_CONPARSER) $(DIST_ENGLISH_CONPARSER) $(DIST_ENGLISH_CONPARSER)/conparser $(DIST_ENGLISH_CONPARSER)/train
@echo The English constituent parser system is compiled successfully into $(DIST_ENGLISH_CONPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.en.deplabeler
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@


$(DIST_ENGLISH_DEPLABELER):
mkdir $(DIST_ENGLISH_DEPLABELER)
$(MKDIR) $(DIST_ENGLISH_DEPLABELER)
$(OBJECT_ENGLISH_DEPLABELER):
mkdir $(OBJECT_ENGLISH_DEPLABELER)
$(MKDIR) $(OBJECT_ENGLISH_DEPLABELER)
english.deplabeler: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_ENGLISH_DEPLABELER) $(DIST_ENGLISH_DEPLABELER) $(DIST_ENGLISH_DEPLABELER)/deplabeler $(DIST_ENGLISH_DEPLABELER)/train
@echo The English dependency labeler system is compiled successfully into $(DIST_ENGLISH_DEPLABELER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.en.depparser
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@


$(DIST_ENGLISH_DEPPARSER):
mkdir $(DIST_ENGLISH_DEPPARSER)
$(MKDIR) $(DIST_ENGLISH_DEPPARSER)
$(OBJECT_ENGLISH_DEPPARSER):
mkdir $(OBJECT_ENGLISH_DEPPARSER)
$(MKDIR) $(OBJECT_ENGLISH_DEPPARSER)
english.depparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_ENGLISH_DEPPARSER) $(DIST_ENGLISH_DEPPARSER) $(DIST_ENGLISH_DEPPARSER)/depparser $(DIST_ENGLISH_DEPPARSER)/train $(DIST_ENGLISH_DEPPARSER)/unit_test
@echo The English dependency parser system is compiled successfully into $(DIST_ENGLISH_DEPPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.en.depparser.morph
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$(DIST_ENGLISH_DEPPARSER):
mkdir $(DIST_ENGLISH_DEPPARSER)
$(MKDIR) $(DIST_ENGLISH_DEPPARSER)
$(OBJECT_ENGLISH_DEPPARSER):
mkdir $(OBJECT_ENGLISH_DEPPARSER)
$(MKDIR) $(OBJECT_ENGLISH_DEPPARSER)
english.depparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_ENGLISH_DEPPARSER) $(DIST_ENGLISH_DEPPARSER) $(DIST_ENGLISH_DEPPARSER)/depparser $(DIST_ENGLISH_DEPPARSER)/train $(DIST_ENGLISH_DEPPARSER)/unit_test
@echo The English dependency parser system is compiled successfully into $(DIST_ENGLISH_DEPPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.es.deplabeler
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@


$(DIST_SPANISH_DEPLABELER):
mkdir $(DIST_SPANISH_DEPLABELER)
$(MKDIR) $(DIST_SPANISH_DEPLABELER)
$(OBJECT_SPANISH_DEPLABELER):
mkdir $(OBJECT_SPANISH_DEPLABELER)
$(MKDIR) $(OBJECT_SPANISH_DEPLABELER)
spanish.deplabeler: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_SPANISH_DEPLABELER) $(DIST_SPANISH_DEPLABELER) $(DIST_SPANISH_DEPLABELER)/deplabeler $(DIST_SPANISH_DEPLABELER)/train
@echo The Spanish dependency labeler system is compiled successfully into $(DIST_SPANISH_DEPLABELER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.es.depparser
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@


$(DIST_SPANISH_DEPPARSER):
mkdir $(DIST_SPANISH_DEPPARSER)
$(MKDIR) $(DIST_SPANISH_DEPPARSER)
$(OBJECT_SPANISH_DEPPARSER):
mkdir $(OBJECT_SPANISH_DEPPARSER)
$(MKDIR) $(OBJECT_SPANISH_DEPPARSER)
spanish.depparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_SPANISH_DEPPARSER) $(DIST_SPANISH_DEPPARSER) $(DIST_SPANISH_DEPPARSER)/depparser $(DIST_SPANISH_DEPPARSER)/train $(DIST_SPANISH_DEPPARSER)/unit_test
@echo The Spanish dependency parser system for annotation type $(SPANISH_ANNOTATION) is compiled successfully into $(DIST_SPANISH_DEPPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.ge.conparser
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ $(OBJECT_DIR)/constituent.ge.o: $(OBJECT_GENERIC_CONPARSER) $(SRC_GENERIC)/cfg.h
#===================================================================

$(DIST_GENERIC_CONPARSER):
mkdir $(DIST_GENERIC_CONPARSER)
$(MKDIR) $(DIST_GENERIC_CONPARSER)
$(OBJECT_GENERIC_CONPARSER):
mkdir $(OBJECT_GENERIC_CONPARSER)
$(MKDIR) $(OBJECT_GENERIC_CONPARSER)
generic.conparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_DIR)/pos.ge.o $(OBJECT_DIR)/cfg.ge.o $(OBJECT_GENERIC_CONPARSER) $(DIST_GENERIC_CONPARSER) $(DIST_GENERIC_CONPARSER)/conparser $(DIST_GENERIC_CONPARSER)/train
@echo The generic constituent parser system is compiled successfully into $(DIST_GENERIC_CONPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.ge.deplabeler
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ $(OBJECT_DIR)/deplabel.ge.o: $(SRC_GENERIC)/dependency/label/generic.h $(SRC_GEN
#===================================================================

$(DIST_GENERIC_DEPLABELER):
mkdir $(DIST_GENERIC_DEPLABELER)
$(MKDIR) $(DIST_GENERIC_DEPLABELER)
$(OBJECT_GENERIC_DEPLABELER):
mkdir $(OBJECT_GENERIC_DEPLABELER)
$(MKDIR) $(OBJECT_GENERIC_DEPLABELER)
generic.deplabeler: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_GENERIC_DEPLABELER) $(DIST_GENERIC_DEPLABELER) $(DIST_GENERIC_DEPLABELER)/deplabeler $(DIST_GENERIC_DEPLABELER)/train
@echo The generic dependency labeler system is compiled successfully into $(DIST_GENERIC_DEPLABELER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.d/Makefile.ge.depparser
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ depparser: generic.depparser
#===================================================================

$(DIST_GENERIC_DEPPARSER):
mkdir $(DIST_GENERIC_DEPPARSER)
$(MKDIR) $(DIST_GENERIC_DEPPARSER)
$(OBJECT_GENERIC_DEPPARSER):
mkdir $(OBJECT_GENERIC_DEPPARSER)
$(MKDIR) $(OBJECT_GENERIC_DEPPARSER)
generic.depparser: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_DIR)/pos.ge.o $(OBJECT_DIR)/deplabel.ge.o $(OBJECT_GENERIC_DEPPARSER) $(DIST_GENERIC_DEPPARSER) $(DIST_GENERIC_DEPPARSER)/depparser $(DIST_GENERIC_DEPPARSER)/train
@echo The generic dependency parser system is compiled successfully into $(DIST_GENERIC_DEPPARSER).

Expand Down
4 changes: 2 additions & 2 deletions Makefile.doc2snt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ SRC_DOC2SNT = $(SRC_CHINESE)/doc2snt
DIST_DOC2SNT = $(DIST_DIR)/chinese.doc2snt
OBJECT_DOC2SNT = $(OBJECT_DIR)/chinese.doc2snt
$(DIST_DOC2SNT):
mkdir -p $(DIST_DOC2SNT)
$(MKDIR) $(DIST_DOC2SNT)
$(OBJECT_DOC2SNT):
mkdir $(OBJECT_DOC2SNT)
$(MKDIR) $(OBJECT_DOC2SNT)
chinese.doc2snt: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_DOC2SNT) $(DIST_DOC2SNT) $(DIST_DOC2SNT)/doc2snt
@echo The Chinese word doc2snt system is compiled successfully into $(DIST_DOC2SNT).

Expand Down
12 changes: 6 additions & 6 deletions Makefile.misc
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ SRC_JOINT = $(SRC_CHINESE)/joint
DIST_JOINT = $(DIST_DIR)/joint
OBJECT_JOINT = $(OBJECT_DIR)/joint
$(OBJECT_JOINT):
mkdir -p $(OBJECT_JOINT)
$(MKDIR) $(OBJECT_JOINT)
$(DIST_JOINT):
mkdir -p $(DIST_JOINT)
$(MKDIR) $(DIST_JOINT)

$(OBJECT_JOINT)/postagger: $(OBJECT_JOINT)
mkdir -p $(OBJECT_JOINT)/postagger
$(MKDIR) $(OBJECT_JOINT)/postagger
$(DIST_JOINT)/postagger: $(DIST_JOINT)
mkdir -p $(DIST_JOINT)/postagger
$(MKDIR) $(DIST_JOINT)/postagger
joint.postagger: $(OBJECT_DIR) $(DIST_DIR) $(DIST_JOINT)/postagger $(OBJECT_JOINT)/postagger $(DIST_JOINT)/postagger/postagger $(DIST_JOINT)/postagger/train
@echo The joint segmentor postagger is successfully compiled into $(DIST_JOINT)/postagger

Expand Down Expand Up @@ -58,5 +58,5 @@ clean: clean.ge clean.en clean.es clean.zh
rm -f test.exe
rm -rf $(DIST_DIR)
rm -f *~
mkdir dist
mkdir obj
$(MKDIR) dist
$(MKDIR) obj
4 changes: 2 additions & 2 deletions Makefile.zpar.ge
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ SRC_GENERIC_TAGGER = $(SRC_COMMON)/tagger
DIST_GENERIC_TAGGER = $(DIST_DIR)/generic.postagger
OBJECT_GENERIC_TAGGER = $(OBJECT_DIR)/generic.postagger
$(DIST_GENERIC_TAGGER):
mkdir $(DIST_GENERIC_TAGGER)
$(MKDIR) $(DIST_GENERIC_TAGGER)
$(OBJECT_GENERIC_TAGGER):
mkdir $(OBJECT_GENERIC_TAGGER)
$(MKDIR) $(OBJECT_GENERIC_TAGGER)

SRC_GENERIC_DEPPARSER = $(SRC_COMMON)/depparser
DIST_GENERIC_DEPPARSER = $(DIST_DIR)/generic.depparser
Expand Down
16 changes: 8 additions & 8 deletions Makefile.zpar.mvt
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ SRC_MVT_TAGGER = $(SRC_CHINESE)/tagger
DIST_MVT_TAGGER = $(DIST_DIR)/mvt.postagger
OBJECT_MVT_TAGGER = $(OBJECT_DIR)/mvt.postagger
$(DIST_MVT_TAGGER):
mkdir $(DIST_MVT_TAGGER)
$(MKDIR) $(DIST_MVT_TAGGER)
$(OBJECT_MVT_TAGGER):
mkdir $(OBJECT_MVT_TAGGER)
$(MKDIR) $(OBJECT_MVT_TAGGER)

SRC_MVT_DEPPARSER = $(SRC_COMMON)/depparser
DIST_MVT_DEPPARSER = $(DIST_DIR)/mvt.depparser
Expand All @@ -30,9 +30,9 @@ ifeq ($(MVT_DEPPARSER_LABELED), true)
MVT_DEPPARSER_D = -DLABELED
endif
$(DIST_MVT_DEPPARSER):
mkdir $(DIST_MVT_DEPPARSER)
$(MKDIR) $(DIST_MVT_DEPPARSER)
$(OBJECT_MVT_DEPPARSER):
mkdir $(OBJECT_MVT_DEPPARSER)
$(MKDIR) $(OBJECT_MVT_DEPPARSER)

# ifeq ($(MVT_DEPPARSER_IMPL), combined)
# MVT_DEPPARSER_D := $(MVT_DEPPARSER_D) -DCOMBINED
Expand All @@ -44,9 +44,9 @@ DIST_MVT_CONPARSER = $(DIST_DIR)/mvt.conparser
OBJECT_MVT_CONPARSER = $(OBJECT_DIR)/mvt.conparser

$(DIST_MVT_CONPARSER):
mkdir $(DIST_MVT_CONPARSER)
$(MKDIR) $(DIST_MVT_CONPARSER)
$(OBJECT_MVT_CONPARSER):
mkdir $(OBJECT_MVT_CONPARSER)
$(MKDIR) $(OBJECT_MVT_CONPARSER)

#===================================================================

Expand Down Expand Up @@ -144,9 +144,9 @@ $(DIST_MVT_CONPARSER)/train: $(SRC_MVT_CONPARSER)/train.cpp $(OBJECT_DIR)/mvt.co
# OBJECT_MVT_DEPLABELER = $(OBJECT_DIR)/mvt.deplabeler

# $(DIST_MVT_DEPLABELER):
# mkdir $(DIST_MVT_DEPLABELER)
# $(MKDIR) $(DIST_MVT_DEPLABELER)
# $(OBJECT_MVT_DEPLABELER):
# mkdir $(OBJECT_MVT_DEPLABELER)
# $(MKDIR) $(OBJECT_MVT_DEPLABELER)
# mvt.deplabeler: $(OBJECT_DIR) $(DIST_DIR) $(OBJECT_MVT_DEPLABELER) $(DIST_MVT_DEPLABELER) $(DIST_MVT_DEPLABELER)/deplabeler $(DIST_MVT_DEPLABELER)/train
# @echo The generic dependency labeler system is compiled successfully into $(DIST_MVT_DEPLABELER).
#
Expand Down

0 comments on commit c97871a

Please sign in to comment.