|
- #!/usr/bin/make -f
- # Makefile for MOD Desktop ASIO #
- # ----------------------------- #
- # Created by falkTX
- #
-
- ### Tools
-
- CC ?= gcc
-
- ### Common settings
-
- CFLAGS += $(shell pkg-config --cflags jack)
- CFLAGS += -std=gnu11
- CFLAGS += -D_REENTRANT -DNATIVE_INT64
- CFLAGS += -fPIC
- CFLAGS += -Wall
- CFLAGS += -pipe
- CFLAGS += -fno-strict-aliasing -Wwrite-strings -Wpointer-arith
- CFLAGS += -Werror=implicit-function-declaration
- CFLAGS += -I. -Irtaudio/include
-
- # Debug or Release
- ifeq ($(DEBUG),true)
- CFLAGS += -O0 -DDEBUG -g -D__WINESRC__
- else
- CFLAGS += -O2 -DNDEBUG -fvisibility=hidden
- endif
-
- # CFLAGS += -fdata-sections -ffunction-sections
- # CFLAGS += -fno-common
- # CFLAGS += -fvisibility=hidden
- # CFLAGS += -fno-stack-protector -U_FORTIFY_SOURCE -Wp,-U_FORTIFY_SOURCE
- # CFLAGS += -fno-gnu-unique
- # CFLAGS += -ffast-math -fno-finite-math-only
- # CFLAGS += -Os -DNDEBUG=1 -fomit-frame-pointer
- # CFLAGS += -mtune=generic -msse -msse2 -mfpmath=sse
- # CFLAGS += -D__STDC_FORMAT_MACROS=1
- # CFLAGS += -D__USE_MINGW_ANSI_STDIO=1
- # CFLAGS += -mstackrealign
- # CFLAGS += -posix
- # LDFLAGS += -Wl,--gc-sections,--no-undefined
- # LDFLAGS += -Wl,-O1
- # LDFLAGS += -Wl,--as-needed,--strip-all
- # LDFLAGS += -static -static-libgcc -static-libstdc++ -Wl,-Bstatic
-
- ### Global source lists
-
- SRCS = asio.c main.c regsvr.c JackBridge.c
- OBJS = $(SRCS:%.c=build/%.c.o)
-
- ### Generic targets
-
- all: mod-desktop-asio.dll
-
- clean:
- rm -f $(OBJS) mod-desktop-asio.dll
- rm -rf build
-
- ### Build rules
-
- .PHONY: all
-
- # Implicit rules
-
- build/%.c.o: %.c
- @$(shell mkdir -p build)
- $(CC) -c $(INCLUDE_PATH) $(CFLAGS) $(CEXTRA) -o $@ $<
-
- ### Target specific build rules
-
- mod-desktop-asio.dll: $(OBJS)
- $(CC) $^ $(CFLAGS) $(LDFLAGS) -shared mod-desktop-asio.dll.def -lodbc32 -lole32 -luuid -lwinmm -o $@
|