RT_OPTION=-lrt
endif
-LIBS=$(RT_OPTION) -lfftw3 -lm -lwdsp -lpthread $(AUDIO_LIBS) $(USBOZY_LIBS) $(GTKLIBS) $(GPIO_LIBS) $(MIDI_LIBS)
+ifeq ($(UNAME_S), Darwin)
+SYSLIBS=-framework IOKit
+endif
+
+RUST_LIB=-Lrust/target/debug -lhpsdr
+
+LIBS= $(LDFLAGS) $(AUDIO_LIBS) $(USBOZY_LIBS) $(GTKLIBS) $(GPIO_LIBS) $(SOAPYSDRLIBS) $(STEMLAB_LIBS) \
+ $(MIDI_LIBS) $(RUST_LIB) -lwdsp -lpthread -lm $(SYSLIBS)
+
INCLUDES=$(GTKINCLUDES)
COMPILE=$(CC) $(CFLAGS) $(OPTIONS) $(INCLUDES)
switch_menu.c \
toolbar_menu.c
-
+RUST_SRC=\
+rust/lib.rs
HEADERS= \
agc.h \
$(PROGRAM): $(OBJS) $(AUDIO_OBJS) $(REMOTE_OBJS) $(USBOZY_OBJS) \
$(LOCALCW_OBJS) $(PURESIGNAL_OBJS) \
- $(MIDI_OBJS) $(SERVER_OBJS)
+ $(MIDI_OBJS) $(STEMLAB_OBJS) $(SERVER_OBJS) \
+ libhpsdr
$(LINK) -o $(PROGRAM) $(OBJS) $(AUDIO_OBJS) $(REMOTE_OBJS) $(USBOZY_OBJS) \
$(LOCALCW_OBJS) $(PURESIGNAL_OBJS) \
$(MIDI_OBJS) $(SERVER_OBJS) $(LIBS)
#
#############################################################################
-hpsdrsim.o: hpsdrsim.c hpsdrsim.h
- $(CC) -c -O -DALSASOUND hpsdrsim.c
+hpsdrsim.o: hpsdrsim.c hpsdrsim.h
+ $(CC) -c -O hpsdrsim.c
newhpsdrsim.o: newhpsdrsim.c hpsdrsim.h
$(CC) -c -O newhpsdrsim.c
cp release/pihpsdr/pihpsdr.desktop pkg/pihpsdr/usr/share/applications
cd pkg; dpkg-deb --build pihpsdr
+libhpsdr:
+ cd rust && \
+ cargo build && \
+ cd ..
+#############################################################################
+#
+# This is for MacOS "app" creation ONLY
+#
+# The piHPSDR working directory is
+# $HOME -> Application Support -> piHPSDR
+#
+# That is the directory where the WDSP wisdom file (created upon first
+# start of piHPSDR) but also the radio settings and the midi.props file
+# are stored.
+#
+# No libraries are included in the app bundle, so it will only run
+# on the computer where it was created, and on other computers which
+# have all libraries (including WDSP) and possibly the SoapySDR support
+# modules installed.
+#############################################################################
+
+.PHONY: app
+app: $(OBJS) $(AUDIO_OBJS) $(REMOTE_OBJS) $(USBOZY_OBJS) $(SOAPYSDR_OBJS) \
+ $(LOCALCW_OBJS) $(PURESIGNAL_OBJS) \
+ $(MIDI_OBJS) $(STEMLAB_OBJS) $(SERVER_OBJS)
+ $(LINK) -headerpad_max_install_names -o $(PROGRAM) $(OBJS) $(AUDIO_OBJS) $(REMOTE_OBJS) $(USBOZY_OBJS) \
+ $(SOAPYSDR_OBJS) $(LOCALCW_OBJS) $(PURESIGNAL_OBJS) \
+ $(MIDI_OBJS) $(STEMLAB_OBJS) $(SERVER_OBJS) $(LIBS) $(LDFLAGS)
+ @rm -rf pihpsdr.app
+ @mkdir -p pihpsdr.app/Contents/MacOS
+ @mkdir -p pihpsdr.app/Contents/Frameworks
+ @mkdir -p pihpsdr.app/Contents/Resources
+ @cp pihpsdr pihpsdr.app/Contents/MacOS/pihpsdr
+ @cp MacOS/PkgInfo pihpsdr.app/Contents
+ @cp MacOS/Info.plist pihpsdr.app/Contents
+ @cp MacOS/hpsdr.icns pihpsdr.app/Contents/Resources/hpsdr.icns
+ @cp MacOS/hpsdr.png pihpsdr.app/Contents/Resources
+#############################################################################
+
gint display_height;
gint full_screen = 1;
+extern size_t add(size_t left, size_t right);
+
static GtkWidget *discovery_dialog;
static GdkCursor *cursor_arrow;
char name[1024];
- sprintf(name, "com.verdure.sdr.pid%d", getpid());
+ printf("calling rust add fn: %d\n", add(40, 2));
+
+#ifdef __APPLE__
+ void MacOSstartup(char *path);
+ MacOSstartup(argv[0]);
+#endif
// fprintf(stderr,"gtk_application_new: %s\n",name);