diff --git a/src/uifc/GNUmakefile b/src/uifc/GNUmakefile index d8897f0fb256256df678271a8ecc7ef4f254f9b7..16f14ed6bfe56b82e8eb0152d0e7c3e510ab8c4c 100644 --- a/src/uifc/GNUmakefile +++ b/src/uifc/GNUmakefile @@ -20,13 +20,13 @@ include $(SRC_ROOT)/build/Common.gmake # defines clean and output directory rule CFLAGS += -I$(XPDEV_SRC) $(CIOLIB-MT_CFLAGS) # UIFC Library Link Rule -$(UIFCLIB): $(OBJODIR) $(OBJS) +$(UIFCLIB): $(OBJS) @echo Creating $@ ... $(QUIET)ar rc $@ $(OBJS) $(QUIET)ranlib $@ # MT-UIFC Library Link Rule -$(UIFCLIB-MT): $(MTOBJODIR) $(MT_OBJS) +$(UIFCLIB-MT): $(MT_OBJS) @echo Creating $@ ... $(QUIET)ar rc $@ $(MT_OBJS) $(QUIET)ranlib $@ diff --git a/src/uifc/Makefile b/src/uifc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..4bd1cca2ac3a912325942efb4381c0f2f8525132 --- /dev/null +++ b/src/uifc/Makefile @@ -0,0 +1,15 @@ +SRC_ROOT = .. +# Cross platform/compiler definitions +!include $(SRC_ROOT)\build\Common.bmake # defines clean and output directory rules + +CFLAGS = $(CFLAGS) $(XPDEV-MT_CFLAGS) $(CIOLIB-MT_CFLAGS) + +$(UIFCLIB): $(OBJS) + @echo Creating $< ... + -$(QUIET)$(DELETE) $@ + &$(QUIET)tlib $@ +$** + +$(UIFCLIB-MT): $(MT_OBJS) + @echo Creating $< ... + -$(QUIET)$(DELETE) $@ + &$(QUIET)tlib $@ +$** diff --git a/src/uifc/targets.mk b/src/uifc/targets.mk index 698e5dd862fa1bb1b37cb943c3768ff71b600131..aadb155d100669df81141fcd3a524cf6fd9125ee 100644 --- a/src/uifc/targets.mk +++ b/src/uifc/targets.mk @@ -1,4 +1,4 @@ all: lib mtlib -lib: $(LIBODIR) $(UIFCLIB) -mtlib: $(LIBODIR) $(UIFCLIB-MT) +lib: $(OBJODIR) $(LIBODIR) $(UIFCLIB) +mtlib: $(MTOBJODIR) $(LIBODIR) $(UIFCLIB-MT) diff --git a/src/xpdev/Common.gmake b/src/xpdev/Common.gmake deleted file mode 100644 index bc2aee1b15df9c83faa4c2c7239161aa5bc72d22..0000000000000000000000000000000000000000 --- a/src/xpdev/Common.gmake +++ /dev/null @@ -1,201 +0,0 @@ -# Available Options: -# NEED_THREADS = Set flags suitable for threaded programs - -# Set DEBUG -ifndef DEBUG - ifndef RELEASE - DEBUG := 1 - endif -endif - -# VERBOSE/QUITE -ifndef VERBOSE - QUIET = @ -endif - -# Compiler-specific options -CFLAGS += -MMD -ifdef BUILD_DEPENDS - ifdef DONT_CLOBBER_CC - CC ?= gcc - else - CC := gcc - endif - CCPRE := $(CC) - CC := $(XPDEV)/../build/mkdep -a - CXX := $(XPDEV)/../build/mkdep -a - LD := echo - COMPILE_MSG := Depending -else - ifdef DONT_CLOBBER_CC - CC ?= gcc - else - CC := gcc - endif - CCPRE := $(CC) - CXX ?= g++ - LD ?= ld - COMPILE_MSG := Compiling -endif - -SLASH = / -OFILE = o - -ifdef DEBUG - BUILD = debug -else - BUILD = release -endif -BUILDPATH ?= $(BUILD) - -# Get OS -ifndef os - os = $(shell uname) -endif -os := $(shell echo $(os) | tr '[A-Z]' '[a-z]' | tr ' ' '_') - -machine := $(shell if uname -m | egrep -v "(i[3456789]|x)86" > /dev/null; then uname -m | tr "[A-Z]" "[a-z]" | tr " " "_" ; fi) -ifeq ($(machine),sun4u) - CFLAGS += -D__BIG_ENDIAN__ -endif -ifeq ($(machine),) - machine := $(os) -else - machine := $(os).$(machine) -endif - -LIBODIR := $(CCPRE).$(machine).lib.$(BUILDPATH) -EXEODIR := $(CCPRE).$(machine).exe.$(BUILDPATH) -LDFLAGS += -L$(LIBODIR) - -ifeq ($(os),netbsd) - DELETE := rm -f -else - ifeq ($(os),openbsd) - DELETE := rm -f - else - ifeq ($(os),sunos) - DELETE := rm -f - else - DELETE = rm -fv - endif - endif -endif - -EXEFILE := - -ifeq ($(os),openbsd) -LIBFILE = .so.0.0 -else - ifeq ($(os),darwin) - LIBFILE = .dylib - else - LIBFILE = .so - endif -endif -LIBPREFIX = lib - -# OS Specific Flags -ifeq ($(os),sunos) # Solaris - CFLAGS += -D__solaris__ -DNEEDS_DAEMON -DNEEDS_FORKPTY -DNEEDS_SETENV -DNEEDS_CFMAKERAW -endif -ifeq ($(os),netbsd) # NetBSD - CFLAGS += -D__unix__ -I/usr/pkg/include -I/usr/pkg/pthreads/include -DNEEDS_FORKPTY -endif -ifeq ($(os),darwin) - CFLAGS += -D__unix__ -fno-common -D__DARWIN__ - LDFLAGS += -lm -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 - -ifdef DEBUG - CFLAGS += -ggdb - CFLAGS += -D_DEBUG - ODIR := $(ODIR).debug -else # RELEASE - CFLAGS := -O3 $(CFLAGS) - ODIR := $(ODIR).release -endif - -vpath %.c $(XPDEV) - -CFLAGS += -I$(XPDEV) - --include targets.mk --include $(XPDEV)/rules.mk --include objects.mk # defines $(OBJS) -ifdef XP_SEM - PTHREAD_OBJS += $(LIBODIR)$(SLASH)xpsem.$(OFILE) -endif - -# Implicit C Compile Rule -$(LIBODIR)/%.o : %.c $(BUILD_DEPENDS) - @echo $(COMPILE_MSG) $< - $(QUIET)$(CC) $(CFLAGS) -o $@ -c $< - -# Implicit C++ Compile Rule -$(LIBODIR)/%.o : %.cpp $(BUILD_DEPENDS) - @echo $(COMPILE_MSG) $< - $(QUIET)$(CXX) $(CFLAGS) -o $@ -c $< - -ifdef NEED_THREADS - CFLAGS += $(PTHREAD_CFLAGS) - LDFLAGS += $(PTHREAD_LDFLAGS) - OBJS += $(PTHREAD_OBJS) -endif - -depend: - $(QUIET)$(DELETE) $(LIBODIR)/.depend - $(QUIET)$(DELETE) $(EXEODIR)/.depend - $(QUIET)$(MAKE) BUILD_DEPENDS=FORCE - -FORCE: - --include $(LIBODIR)/.depend --include $(EXEODIR)/.depend --include $(LIBODIR)/*.d --include $(EXEODIR)/*.d diff --git a/src/xpdev/Makefile b/src/xpdev/Makefile index 99a75aec32c97c0b6b4855cbee4f83f5023ede9b..dc233e152efc43facc4dc3d74298d8d91f09b625 100644 --- a/src/xpdev/Makefile +++ b/src/xpdev/Makefile @@ -1,77 +1,12 @@ -# Makefile - -######################################################################### -# Makefile for cross-platform development "wrappers" test # -# For use with Borland or Microsoft C++ Compilers for Win32 # -# @format.tab-size 4 # -# # -# usage: make [msc=1] # -######################################################################### - -# $Id$ - -# Macros -DEBUG = 1 # Comment out for release (non-debug) version - -# OS-specific -SLASH = \ # This comment is necessary -OFILE = obj -LIBFILE = .dll -EXEFILE = .exe -DELETE = echo y | del - -# Compiler-specific -!ifdef msc # Microsoft Visual C++ -CC = cl -LD = link -LIBODIR = msvc.Win32 -OUTPUT = -Fo -LOUTPUT = -Fe -CFLAGS = -nologo -MTd -LFLAGS = $(CFLAGS) -!ifdef DEBUG -CFLAGS = $(CFLAGS) -Yd -!endif - -!else # Borland C++ - -CC = bcc32 -LD = ilink32 -LIBODIR = bcc.Win32 # Output directory -OUTPUT = -o -LOUTPUT = $(OUTPUT) -CFLAGS = -n$(LIBODIR) -WM -q -LFLAGS = $(CFLAGS) -CFLAGS = $(CFLAGS) -M -WD -WM -X- -!ifdef DEBUG -CFLAGS = $(CFLAGS) -v -!endif -!endif - -# Common compiler flags -!ifdef DEBUG -CFLAGS = $(CFLAGS) -Od -D_DEBUG -!endif - -# Debug or release build? -!ifdef DEBUG -LIBODIR = $(LIBODIR).debug -!else -LIBODIR = $(LIBODIR).release -!endif - -!include objects.mk # defines $(OBJS) -!include targets.mk - -# Implicit C Compile Rule -{.}.c.$(OFILE): - @$(CC) $(CFLAGS) -c $< $(OUTPUT)$@ - -# Create output directories if they don't exist -$(LIBODIR): - @if not exist $(LIBODIR) mkdir $(LIBODIR) - -# Executable Build Rule -$(WRAPTEST): $(LIBODIR)\wraptest.obj $(OBJS) - @echo Linking $@ - @$(CC) $(LFLAGS) $** $(LOUTPUT)$@ +SRC_ROOT = .. +!include $(SRC_ROOT)/build/Common.bmake + +$(XPDEV_LIB): $(OBJODIR) $(OBJS) + @echo Creating $< ... + -$(QUIET)$(DELETE) $@ + &$(QUIET)tlib $@ +$** + +$(XPDEV-MT_LIB): $(MTOBJODIR) $(MTOBJS) + @echo Creating $< ... + -$(QUIET)$(DELETE) $@ + &$(QUIET)tlib $@ +$**