Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
906e3e9e
Commit
906e3e9e
authored
20 years ago
by
deuce
Browse files
Options
Downloads
Patches
Plain Diff
Use $(PTHREAD_CFLAGS) for MT objects.
parent
f7de9316
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/build/Common.gmake
+61
-1
61 additions, 1 deletion
src/build/Common.gmake
src/build/rules.mk
+5
-0
5 additions, 0 deletions
src/build/rules.mk
with
66 additions
and
1 deletion
src/build/Common.gmake
+
61
−
1
View file @
906e3e9e
...
@@ -53,6 +53,7 @@
...
@@ -53,6 +53,7 @@
# #
# #
# Common Build Macros Defined: #
# Common Build Macros Defined: #
# DELETE - Delete files (Preferrably verbose) #
# DELETE - Delete files (Preferrably verbose) #
# MTOBJODIR - Object output dir #
# OBJODIR - Object output dir #
# OBJODIR - Object output dir #
# LIBODIR - Library output dir #
# LIBODIR - Library output dir #
# EXEODIR - Executable output dir #
# EXEODIR - Executable output dir #
...
@@ -164,7 +165,8 @@ else
...
@@ -164,7 +165,8 @@ else
endif
endif
LIBODIR := $(CCPRE).$(machine).lib.$(BUILDPATH)
LIBODIR := $(CCPRE).$(machine).lib.$(BUILDPATH)
OBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH)$(OBJPATH_SUFFIX)
OBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH)
MTOBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH)-mt
EXEODIR := $(CCPRE).$(machine).exe.$(BUILDPATH)
EXEODIR := $(CCPRE).$(machine).exe.$(BUILDPATH)
LDFLAGS += -L$(LIBODIR)
LDFLAGS += -L$(LIBODIR)
...
@@ -212,6 +214,51 @@ ifeq ($(os),darwin)
...
@@ -212,6 +214,51 @@ ifeq ($(os),darwin)
LDFLAGS += -lm
LDFLAGS += -lm
endif
endif
# PThread-specific flags
ifeq ($(os),linux) # Linux
ifndef THREADS_ACTUALLY_WORK
PTHREAD_CFLAGS += -D_THREAD_SUID_BROKEN
endif
endif
PTHREAD_CFLAGS += -D_THREAD_SAFE -D_REENTRANT
ifeq ($(os),freebsd) # FreeBSD
PTHREAD_CFLAGS += -DUSE_XP_SEMAPHORES
PTHREAD_LDFLAGS += -pthread
XP_SEM := 1
else
ifeq ($(os),openbsd) # OpenBSD
PTHREAD_CFLAGS += -DUSE_XP_SEMAPHORES
PTHREAD_LDFLAGS += -pthread
XP_SEM := 1
else
ifeq ($(os),netbsd) # NetBSD
PTHREAD_CFLAGS += -D__unix__ -DUSE_XP_SEMAPHORES
PTHREAD_LDFLAGS += -L/usr/pkg/lib -L/usr/pkg/pthreads/lib -lpthread
XP_SEM := 1
else
ifeq ($(os),qnx) # QNX
else
ifeq ($(os),darwin) # Darwin/Mac OS X
PTHREAD_CFLAGS += -D__unix__ -DUSE_XP_SEMAPHORES -D__DARWIN__
PTHREAD_LDFLAGS += -lpthread
XP_SEM := 1
else
ifeq ($(os),sunos) # Solaris
XP_SEM := 1
PTHREAD_CFLAGS += -D_POSIX_PTHREAD_SEMANTICS
PTHREAD_CFLAGS += -DUSE_XP_SEMAPHORES
PTHREAD_LDFLAGS += -lpthread
else # Linux / Other UNIX
XP_SEM := 1
PTHREAD_CFLAGS += -DUSE_XP_SEMAPHORES
PTHREAD_LDFLAGS += -lpthread
endif
endif
endif
endif
endif
endif
# Paths
# Paths
XPDEV_SRC := $(SRC_ROOT)$(DIRSEP)xpdev
XPDEV_SRC := $(SRC_ROOT)$(DIRSEP)xpdev
CIOLIB_SRC := $(SRC_ROOT)$(DIRSEP)conio
CIOLIB_SRC := $(SRC_ROOT)$(DIRSEP)conio
...
@@ -245,17 +292,30 @@ $(OBJODIR)/%.o : %.cpp $(BUILD_DEPENDS)
...
@@ -245,17 +292,30 @@ $(OBJODIR)/%.o : %.cpp $(BUILD_DEPENDS)
@echo $(COMPILE_MSG) $<
@echo $(COMPILE_MSG) $<
$(QUIET)$(CXX) $(CFLAGS) $(CXXFLAGS) -o $@ -c $<
$(QUIET)$(CXX) $(CFLAGS) $(CXXFLAGS) -o $@ -c $<
# Implicit MT C Compile Rule
$(MTOBJODIR)/%.o : %.c $(BUILD_DEPENDS)
@echo $(COMPILE_MSG) $<
$(QUIET)$(CC) $(CFLAGS) $(CCFLAGS) $(PTHREAD_CFLAGS) -o $@ -c $<
# Implicit MT C++ Compile Rule
$(MTOBJODIR)/%.o : %.cpp $(BUILD_DEPENDS)
@echo $(COMPILE_MSG) $<
$(QUIET)$(CXX) $(CFLAGS) $(CXXFLAGS) $(PTHREAD_CFLAGS) -o $@ -c $<
depend:
depend:
$(QUIET)$(DELETE) $(OBJODIR)/.depend
$(QUIET)$(DELETE) $(OBJODIR)/.depend
$(QUIET)$(DELETE) $(MTOBJODIR)/.depend
$(QUIET)$(DELETE) $(LIBODIR)/.depend
$(QUIET)$(DELETE) $(LIBODIR)/.depend
$(QUIET)$(DELETE) $(EXEODIR)/.depend
$(QUIET)$(DELETE) $(EXEODIR)/.depend
$(QUIET)$(MAKE) BUILD_DEPENDS=FORCE
$(QUIET)$(MAKE) BUILD_DEPENDS=FORCE
FORCE:
FORCE:
-include $(MTOBJODIR)/.depend
-include $(OBJODIR)/.depend
-include $(OBJODIR)/.depend
-include $(LIBODIR)/.depend
-include $(LIBODIR)/.depend
-include $(EXEODIR)/.depend
-include $(EXEODIR)/.depend
-include $(MTOBJODIR)/*.d
-include $(OBJODIR)/*.d
-include $(OBJODIR)/*.d
-include $(LIBODIR)/*.d
-include $(LIBODIR)/*.d
-include $(EXEODIR)/*.d
-include $(EXEODIR)/*.d
This diff is collapsed.
Click to expand it.
src/build/rules.mk
+
5
−
0
View file @
906e3e9e
...
@@ -7,6 +7,9 @@
...
@@ -7,6 +7,9 @@
$(OBJODIR)
:
$(OBJODIR)
:
$(
QUIET
)$(
IFNOTEXIST
)
mkdir
$(
OBJODIR
)
$(
QUIET
)$(
IFNOTEXIST
)
mkdir
$(
OBJODIR
)
$(MTOBJODIR)
:
$(
QUIET
)$(
IFNOTEXIST
)
mkdir
$(
MTOBJODIR
)
$(LIBODIR)
:
$(LIBODIR)
:
$(
QUIET
)$(
IFNOTEXIST
)
mkdir
$(
LIBODIR
)
$(
QUIET
)$(
IFNOTEXIST
)
mkdir
$(
LIBODIR
)
...
@@ -16,6 +19,8 @@ $(EXEODIR):
...
@@ -16,6 +19,8 @@ $(EXEODIR):
clean
:
clean
:
@
echo
Deleting
$(
OBJODIR
)$(
DIRSEP
)
@
echo
Deleting
$(
OBJODIR
)$(
DIRSEP
)
$(
QUIET
)$(
DELETE
)
$(
OBJODIR
)$(
DIRSEP
)
*
$(
QUIET
)$(
DELETE
)
$(
OBJODIR
)$(
DIRSEP
)
*
@
echo
Deleting
$(
MTOBJODIR
)$(
DIRSEP
)
$(
QUIET
)$(
DELETE
)
$(
MTOBJODIR
)$(
DIRSEP
)
*
@
echo
Deleting
$(
LIBODIR
)$(
DIRSEP
)
@
echo
Deleting
$(
LIBODIR
)$(
DIRSEP
)
$(
QUIET
)$(
DELETE
)
$(
LIBODIR
)$(
DIRSEP
)
*
$(
QUIET
)$(
DELETE
)
$(
LIBODIR
)$(
DIRSEP
)
*
@
echo
Deleting
$(
EXEODIR
)$(
DIRSEP
)
@
echo
Deleting
$(
EXEODIR
)$(
DIRSEP
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment