mirror of
https://github.com/MacPaw/XADMaster.git
synced 2025-08-28 19:13:49 +02:00
125 lines
2.8 KiB
Text
125 lines
2.8 KiB
Text
# Compilers and linkers
|
|
|
|
OBJCC = gcc
|
|
CC = gcc
|
|
CXX = g++
|
|
LD = gcc
|
|
AR = ar
|
|
|
|
# Options for compilation
|
|
|
|
GNUSTEP_OPTS = -DGNUSTEP \
|
|
-DGNU_RUNTIME=1 \
|
|
-D_NATIVE_OBJC_EXCEPTIONS \
|
|
-fgnu-runtime \
|
|
-fexceptions \
|
|
-fobjc-exceptions \
|
|
-fconstant-string-class=NSConstantString
|
|
|
|
GCC_OPTS = -O2 \
|
|
-Wno-import \
|
|
-Wno-multichar \
|
|
-g \
|
|
-D_FILE_OFFSET_BITS=64 \
|
|
-IWindows/include \
|
|
-isystem C:\GNUstep\GNUstep\System\Library\Headers
|
|
|
|
OBJC_OPTS = -std=gnu99
|
|
|
|
C_OPTS = -std=gnu99
|
|
|
|
CXX_OPTS =
|
|
|
|
AUTODEPENDENCY_CFLAGS=-MMD -MF$(@:.o=.d) -MT$@
|
|
|
|
ALL_OBJCFLAGS = $(OBJC_OPTS) $(GCC_OPTS) $(GNUSTEP_OPTS) $(OBJCFLAGS)
|
|
ALL_CFLAGS = $(C_OPTS) $(GCC_OPTS) $(CFLAGS)
|
|
ALL_CXXFLAGS = $(CXX_OPTS) $(GCC_OPTS) $(CXXFLAGS)
|
|
|
|
# Options for linking
|
|
|
|
LIBS = -Wl,--no-whole-archive \
|
|
-lgnustep-base \
|
|
-lz \
|
|
-lbz2 \
|
|
-lobjc \
|
|
-lstdc++ \
|
|
-lm \
|
|
-lwinmm \
|
|
-lgdi32
|
|
|
|
ALL_LDFLAGS = -Wl,--whole-archive \
|
|
-fexceptions \
|
|
-fgnu-runtime \
|
|
-mconsole \
|
|
-LWindows/lib \
|
|
-LC:\GNUstep\GNUstep\System\Library\Libraries \
|
|
$(LDFLAGS)
|
|
|
|
# Paths
|
|
|
|
SOURCE_DIR = .
|
|
BUILD_DIR = Build
|
|
|
|
# Files
|
|
|
|
PLATFORM_OBJC_FILES = XADPlatformWindows.m \
|
|
XADStringWindows.m
|
|
|
|
PLATFORM_C_FILES = Windows/regex.c
|
|
|
|
include Makefile.common
|
|
|
|
# Compilation rules
|
|
|
|
all: $(EXECUTABLE_FILES) $(LIBRARY_FILES)
|
|
|
|
libXADMaster.a: $(LIBRARY_OBJS)
|
|
rm -f $@
|
|
$(AR) rcs $@ $^
|
|
|
|
../UniversalDetector/libUniversalDetector.a:
|
|
make -C ../UniversalDetector -f Makefile.windows
|
|
|
|
XADTest2: $(XADTEST2_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
XADTest3: $(XADTEST3_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
XADTest4: $(XADTEST4_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
XADTest5: $(XADTEST5_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
XADTest6: $(XADTEST6_OBJS) $(CMDLINE_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
unar: $(UNAR_OBJS) $(CMDLINE_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
lsar: $(LSAR_OBJS) $(CMDLINE_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
|
|
$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR) $(EXECUTABLE_FILES) $(LIBRARY_FILES)
|
|
make -C ../UniversalDetector -f Makefile.linux clean
|
|
|
|
# Suffix rules
|
|
|
|
.SUFFIXES: .o .c .m .cpp
|
|
|
|
$(BUILD_DIR)/%.o: $(SOURCE_DIR)/%.c
|
|
@mkdir -p $(dir $@)
|
|
$(CC) $(ALL_CFLAGS) $(AUTODEPENDENCY_CFLAGS) -c $< -o $@
|
|
|
|
$(BUILD_DIR)/%.o: $(SOURCE_DIR)/%.m
|
|
@mkdir -p $(dir $@)
|
|
$(OBJCC) $(ALL_OBJCFLAGS) $(AUTODEPENDENCY_CFLAGS) -c $< -o $@
|
|
|
|
$(BUILD_DIR)/%.o: $(SOURCE_DIR)/%.cpp
|
|
@mkdir -p $(dir $@)
|
|
$(CXX) $(ALL_CXXFLAGS) $(AUTODEPENDENCY_CFLAGS) -c $< -o $@
|
|
|
|
-include $(OBJS:.o=.d)
|