Files
HxCFloppyEmulator/HxCFloppyEmulator_cmdline/build/Makefile
T
Jean-François DEL NERO 6efbba9971 Minimum macOS version set to High Sierra.
git-svn-id: svn://svn.code.sf.net/p/hxcfloppyemu/code/HxCFloppyEmulator/HxCFloppyEmulator_cmdline/trunk@2298 63fa2f70-6a9b-4bc4-b855-9c6a949b1d69
2020-11-30 22:20:52 +00:00

93 lines
1.9 KiB
Makefile

#CC=i386-pc-linux-gcc
CC=gcc
TARGET := $(shell uname)
INCLUDES = -I ../sources -I ../../../libhxcfe/trunk/sources -I ../../../libusbhxcfe/trunk/sources
DEBUG ?= 0
DEBUG_ASAN ?= 0
ifeq ($(DEBUG), 1)
CFLAGS=-O0 $(INCLUDES) -Wall -g -DDEBUG
LDFLAGS=
else
CFLAGS=-O3 $(INCLUDES) -Wall
LDFLAGS= -s
endif
ifeq ($(DEBUG_ASAN), 1)
CFLAGS += -fsanitize=address -fno-omit-frame-pointer
LDFLAGS += -static-libasan -fsanitize=address
endif
EXEC=hxcfe
LIBHXCFE = libhxcfe.so
LIBUSBHXCFE = libusbhxcfe.so
ifeq ($(TARGET), Darwin)
CFLAGS += -arch x86_64 -mmacosx-version-min=10.13
LDFLAGS += -lc -lm -ldl -lpthread -arch x86_64 -mmacosx-version-min=10.13
LIBHXCFE= libhxcfe.dylib
LIBUSBHXCFE= libusbhxcfe.dylib
endif
ifeq ($(TARGET), Linux)
LDFLAGS += -lc -lm -ldl -lpthread -Wl,-rpath=. -Wl,-Map,foo.map
endif
ifeq ($(TARGET), mingw32)
CC=i686-w64-mingw32-gcc
LDFLAGS += -static-libgcc
EXEC=hxcfe.exe
LIBHXCFE= libhxcfe.dll
LIBUSBHXCFE= libusbhxcfe.dll
endif
ifeq ($(TARGET), mingw64)
CC=x86_64-w64-mingw32-gcc
LDFLAGS += -static-libgcc
EXEC=hxcfe.exe
LIBHXCFE= libhxcfe.dll
LIBUSBHXCFE= libusbhxcfe.dll
endif
ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
LIBHXCFE= libhxcfe.dll
LIBUSBHXCFE= libusbhxcfe.dll
LDFLAGS += -lc -lm -ldl -lpthread
endif
all: $(EXEC)
hxcfe.exe: hxcfe.o utils.o ../../../build/libhxcadaptor.a $(LIBHXCFE) $(LIBUSBHXCFE)
$(CC) -o $@ $^ $(LDFLAGS)
cp $@ ../../../build
hxcfe: hxcfe.o utils.o ../../../build/libhxcadaptor.a $(LIBHXCFE) $(LIBUSBHXCFE)
$(CC) -o $@ $^ $(LDFLAGS)
cp $@ ../../../build
$(LIBHXCFE): ../../../build/$(LIBHXCFE)
ln ../../../build/$(LIBHXCFE) $(LIBHXCFE)
$(LIBUSBHXCFE): ../../../build/$(LIBUSBHXCFE)
ln ../../../build/$(LIBUSBHXCFE) $(LIBUSBHXCFE)
hxcfe.o: ../sources/hxcfe.c
$(CC) -o $@ -c $< $(CFLAGS)
utils.o: ../sources/utils.c
$(CC) -o $@ -c $< $(CFLAGS)
clean:
rm -rf *.o
rm -rf *.so
rm -rf *.dll
rm -rf *.exe
mrproper: clean
rm -rf $(EXEC)
.PHONY: clean mrproper