1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
# qrq Makefile -- Fabian Kurz, DJ5CW -- https://fkurz.net/ham/qrq.html
VERSION?=0.3.5
DESTDIR?=/usr
# set to YES if you want to use Core Audio
# note that you must use Core Audio for OSX
USE_CA=NO
# set to YES if you want to use PulseAudio instead of OSS
USE_PA=YES
# set to YES if you compile with MINGW32
USE_WIN32=NO
# set to YES if building on OSX
OSX_PLATFORM=NO
# set to YES if you want make install to build an OSX bundle instead of
# installing to DESTDIR
# also directs qrq to look in bundle location for shared resources
OSX_BUNDLE=YES
ifneq ($(OSX_PLATFORM), YES)
OSX_BUNDLE=NO
endif
ifeq ($(USE_WIN32), YES)
CC=i686-w64-mingw32-gcc-posix
else
CC=gcc
endif
INSTALL ?= install
# build information may be added by CI scripts and will be
# displayed in the help text (qrq -h)
BUILD_INFO=" Date: $(shell date -r ChangeLog +%Y-%m-%dT%H:%M:%S%z)\n git branch/commit: $(shell if [ x${CI_COMMIT_REF_NAME} != x ]; then echo ${CI_COMMIT_REF_NAME} ; elif [ -e .git ] || [ -e ../.git ]; then git symbolic-ref --short HEAD ; else echo not built from git repository ; fi) / $(shell if [ x${CI_COMMIT_SHA} != x ]; then echo ${CI_COMMIT_SHA}; elif [ -e .git ] || [ -e ../.git ] ; then git rev-parse --verify HEAD ; else echo - ; fi )\n by $(USER)@$(shell hostname -f)\n OS: $(shell uname -s -r -p)\n Compiler: $(shell $(CC) --version | head -1)"
CFLAGS:=$(CFLAGS) -D DESTDIR=\"$(DESTDIR)\" -D VERSION=\"$(VERSION)\" -I.
ifeq ($(USE_CA), YES)
CC=clang
OBJECTS=qrq.o coreaudio.o
CFLAGS:=$(CFLAGS) -D CA -std=c99 -pthread
ifeq ($(OSX_PLATFORM), YES)
LDFLAGS:=$(LDFLAGS) -framework AudioUnit -framework CoreServices -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.5 -lcurses
CFLAGS:=$(CFLAGS) -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.5
ifeq ($(OSX_BUNDLE), YES)
CFLAGS:=$(CFLAGS) -D OSX_BUNDLE
endif
else # build for iphone/ipad
LDFLAGS:=$(LDFLAGS) -L iOSExtras/lib -framework AudioToolbox -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
CFLAGS:=$(CFLAGS) -I iOSExtras/include -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
CC:=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6
IPHONE_HOST=root@localhost
SCP=scp -P2222
SSH=ssh -p2222
endif
else ifeq ($(USE_PA), YES)
CFLAGS:=$(CFLAGS) -D PA -pthread
LDFLAGS:=$(LDFLAGS) -lpthread -lpulse-simple -lpulse -lncurses
OBJECTS=qrq.o pulseaudio.o
else ifeq ($(USE_WIN32), YES)
CFLAGS:=$(CFLAGS) -D WIN32 -Iinclude -Iinclude/ncursesw -DNCURSES_STATIC
LDFLAGS:=$(LDFLAGS) -lwinmm -lpthread
OBJECTS=qrq.o qrq.res lib/libncursesw.a
else
OBJECTS=qrq.o oss.o
LDFLAGS:=$(LDFLAGS) -lpthread -lncurses
CFLAGS:=$(CFLAGS) -D OSS
endif
all: qrq
qrq: $(OBJECTS)
$(CC) -Wall -o $@ $^ -lm $(LDFLAGS)
.c.o:
$(CC) -Wall $(CPPFLAGS) $(CFLAGS) -c $<
#.cpp.o:
# g++ $(CFLAGS) -c $<
ifeq ($(OSX_BUNDLE), YES)
install: qrq
${INSTALL} -d -v qrq.app/Contents
${INSTALL} -d -v qrq.app/Contents/MacOS
${INSTALL} -d -v qrq.app/Contents/Resources
${INSTALL} -d -v qrq.app/Contents/Resources/share/qrq/
${INSTALL} -d -v qrq.app/Contents/Resources/share/man/man1/
${INSTALL} -m 0755 qrq qrq.app/Contents/MacOS/
${INSTALL} -m 0755 qrqscore qrq.app/Contents/MacOS/
${INSTALL} -m 0644 qrq.1 qrq.app/Contents/Resources/share/man/man1/
${INSTALL} -m 0644 callbase.qcb qrq.app/Contents/Resources/share/qrq/
${INSTALL} -m 0644 english.qcb qrq.app/Contents/Resources/share/qrq/
${INSTALL} -m 0644 cwops.qcb qrq.app/Contents/Resources/share/qrq/
${INSTALL} -m 0644 qrqrc qrq.app/Contents/Resources/share/qrq/
${INSTALL} -m 0644 toplist qrq.app/Contents/Resources/share/qrq/
${INSTALL} -m 0644 OSXExtras/qrq.icns qrq.app/Contents/Resources/
${INSTALL} -m 0755 OSXExtras/qrqsh qrq.app/Contents/MacOS/
sed 's/VERSION/$(VERSION)/' OSXExtras/Info.plist > qrq.app/Contents/Info.plist
uninstall:
rm -rf qrq.app
else
install: qrq
${INSTALL} -d -v $(DESTDIR)/share/qrq/
${INSTALL} -d -v $(DESTDIR)/share/man/man1/
${INSTALL} -d -v $(DESTDIR)/bin/
${INSTALL} -s -m 0755 qrq $(DESTDIR)/bin/
${INSTALL} -m 0755 qrqscore $(DESTDIR)/bin/
${INSTALL} -m 0644 qrq.1 $(DESTDIR)/share/man/man1/
${INSTALL} -m 0644 callbase.qcb $(DESTDIR)/share/qrq/
${INSTALL} -m 0644 english.qcb $(DESTDIR)/share/qrq/
${INSTALL} -m 0644 cwops.qcb $(DESTDIR)/share/qrq/
${INSTALL} -m 0644 qrqrc $(DESTDIR)/share/qrq/
${INSTALL} -m 0644 toplist $(DESTDIR)/share/qrq/
uninstall:
rm -f $(DESTDIR)/bin/qrq
rm -f $(DESTDIR)/bin/qrqscore
rm -f $(DESTDIR)/share/man/man1/qrq.1
rm -f $(DESTDIR)/share/qrq/callbase.qcb
rm -f $(DESTDIR)/share/qrq/english.qcb
rm -f $(DESTDIR)/share/qrq/qrqrc
rm -f $(DESTDIR)/share/qrq/toplist
rmdir $(DESTDIR)/share/qrq/
endif
package: qrq
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate; ldid -s qrq
rm -rf qrq-pkg
${INSTALL} -d -v qrq-pkg/$(DESTDIR)/share/qrq/
${INSTALL} -d -v qrq-pkg/$(DESTDIR)/share/man/man1/
${INSTALL} -d -v qrq-pkg/$(DESTDIR)/bin/
${INSTALL} -d -v qrq-pkg/DEBIAN/
${INSTALL} -s -m 0755 qrq qrq-pkg/$(DESTDIR)/bin/
${INSTALL} -m 0755 qrqscore qrq-pkg/$(DESTDIR)/bin/
${INSTALL} -m 0644 qrq.1 qrq-pkg/$(DESTDIR)/share/man/man1/
${INSTALL} -m 0644 callbase.qcb qrq-pkg/$(DESTDIR)/share/qrq/
${INSTALL} -m 0644 english.qcb qrq-pkg/$(DESTDIR)/share/qrq/
${INSTALL} -m 0644 qrqrc qrq-pkg/$(DESTDIR)/share/qrq/
${INSTALL} -m 0644 toplist qrq-pkg/$(DESTDIR)/share/qrq/
${INSTALL} -m 0644 control qrq-pkg/DEBIAN/
export COPYFILE_DISABLE=1; export COPY_EXTENDED_ATTRIBUTES_DISABLE=1; dpkg-deb -b qrq-pkg cydiastore_com.kb1ooo.qrq_v$(shell grep ^Version: control | cut -d ' ' -f 2).deb
$(SCP) cydiastore_com.kb1ooo.qrq_v$(shell grep ^Version: control | cut -d ' ' -f 2).deb $(IPHONE_HOST):/tmp
$(SSH) $(IPHONE_HOST) "dpkg -i /tmp/cydiastore_com.kb1ooo.qrq_v$(shell grep ^Version: control | cut -d ' ' -f 2).deb"
clean:
rm -f qrq.exe qrq toplist-old *~ *.o
rm -rf Summary
rm -rf qrq.app
dist:
sed 's/Version [0-9].[0-9].[0-9]/Version $(VERSION)/g' ../README > README
mkdir -p ../releases
rm -f ../releases/qrq-$(VERSION).tar.gz
rm -rf ../releases/qrq-$(VERSION)
mkdir qrq-$(VERSION)
cp qrq.png qrqscore qrq.c qrqrc callbase.qcb toplist \
../AUTHORS ../ChangeLog README ../COPYING qrq.1 Makefile qrqinstaller.nsi \
english.qcb cwops.qcb qrq.ico qrq.rc \
qrq-$(VERSION)
cp coreaudio.c coreaudio.h oss.c oss.h \
qrq-$(VERSION)
cp pulseaudio.h pulseaudio.c qrq-$(VERSION)
cp -r OSXExtras qrq-$(VERSION)
rm -rf qrq-$(VERSION)/OSXExtras/.svn/
tar -zcf qrq-$(VERSION).tar.gz qrq-$(VERSION)
mv qrq-$(VERSION) ../releases/
mv qrq-$(VERSION).tar.gz ../releases/
md5sum ../releases/*.gz > ../releases/md5sums.txt
|