Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ extras/doc-latex/*.toc

# Don't track the STAR binary once it has being built
source/STAR

# Generated by `xxd -i parametersDefault` during the build
source/parametersDefault.xxd
.DS_Store
*.xcworkspacedata
*.pbxproj
Expand Down
9 changes: 9 additions & 0 deletions source/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,15 @@ htslib/libhts.a :
parametersDefault.xxd: parametersDefault
xxd -i parametersDefault > parametersDefault.xxd

# parametersDefault.xxd is a generated header #include'd by Parameters.cpp and
# STAR.cpp. Under parallel builds (make -jN) those objects could be compiled
# before xxd had generated the header, causing intermittent build failures
# (issue #2672). Order-only (|) prerequisite guarantees the header is generated
# before any object is compiled, while not forcing a full rebuild when only its
# timestamp changes; the real content dependency for Parameters.o/STAR.o is
# still provided by Depend.list.
$(OBJECTS): | parametersDefault.xxd

STAR$(SFX) : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
STAR$(SFX) : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
STAR$(SFX) : Depend.list parametersDefault.xxd $(OBJECTS)
Expand Down