88 lines
2.5 KiB
Makefile
88 lines
2.5 KiB
Makefile
########################################################
|
|
#
|
|
# Makefile for drsosc executable under linux
|
|
#
|
|
# Requires wxWidgets 2.8.9 or newer
|
|
#
|
|
# S. Ritt, Nov. 2016
|
|
########################################################
|
|
|
|
# determine OS
|
|
OSTYPE = $(shell uname)
|
|
|
|
# check if wxWidgets is installed
|
|
HAVE_WX = $(shell which wx-config)
|
|
ifeq ($(HAVE_WX),)
|
|
$(error Error: wxWidgets required to compile "drsosc")
|
|
endif
|
|
|
|
CFLAGS = -g -O2 -Wall -Wuninitialized -Wno-unused-result -Wno-deprecated-declarations -fno-strict-aliasing -DHAVE_USB -DHAVE_LIBUSB10 -DUSE_DRS_MUTEX
|
|
CFLAGS += -I../include -I../mxml -I../ -I/usr/local/include -I/usr/local/include/libusb-1.0/
|
|
WXFLAGS = $(shell wx-config --cxxflags)
|
|
LIBS = -L/usr/local/lib/ -L/opt/local/lib/ -lpthread -lutil
|
|
LIBS += $(shell wx-config --libs)
|
|
|
|
WX_OBJ = ConfigDialog.o DOFrame.o DOScreen.o DRSOsc.o MeasureDialog.o Measurement.o Osci.o EPThread.o DisplayDialog.o InfoDialog.o AboutDialog.o TriggerDialog.o
|
|
OBJECTS = main.o musbstd.o DRS.o rb.o averager.o mxml.o strlcpy.o $(WX_OBJ)
|
|
|
|
OUTNAME = drsosc
|
|
|
|
# OS specific flags
|
|
ifeq ($(OSTYPE),Darwin)
|
|
CFLAGS += -DOS_DARWIN -stdlib=libc++
|
|
LIBS += -lusb-1.0
|
|
endif
|
|
|
|
ifeq ($(OSTYPE),Linux)
|
|
CFLAGS += -DOS_LINUX
|
|
LIBS += -lusb-1.0
|
|
endif
|
|
|
|
all: $(OUTNAME) read_binary
|
|
app: DRSOsc.app
|
|
|
|
$(OUTNAME): $(OBJECTS)
|
|
$(CXX) $(CFLAGS) $(OBJECTS) -o $(OUTNAME) $(LIBS)
|
|
|
|
DRSOsc.app: drsosc
|
|
-mkdir DRSOsc.app
|
|
-mkdir DRSOsc.app/Contents
|
|
-mkdir DRSOsc.app/Contents/MacOS
|
|
-mkdir DRSOsc.app/Contents/Resources
|
|
-mkdir DRSOsc.app/Contents/Resources/English.lproj
|
|
echo 'APPL????' > DRSOsc.app/Contents/PkgInfo
|
|
cp drsosc.xcodeproj/Info-processed.plist DRSOsc.app/Contents/Info.plist
|
|
cp drsosc DRSOsc.app/Contents/MacOS/DRSOsc
|
|
cp DRSOsc.icns DRSOsc.app/Contents/Resources
|
|
|
|
read_binary: read_binary.cpp
|
|
$(CXX) $(CFLAGS) -o $@ $<
|
|
|
|
main.o: %.o: %.cpp ../mxml/mxml.h ../include/DRS.h
|
|
$(CXX) $(CFLAGS) $(WXFLAGS) -c $<
|
|
|
|
musbstd.o: ../src/musbstd.c ../include/musbstd.h
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
DRS.o: ../src/DRS.cpp ../include/DRS.h
|
|
$(CXX) $(CFLAGS) $(WXFLAGS) -c $<
|
|
|
|
rb.o: rb.cpp rb.h
|
|
$(CXX) $(CFLAGS) -c $<
|
|
|
|
averager.o: ../src/averager.cpp ../include/averager.h
|
|
$(CXX) $(CFLAGS) -c $<
|
|
|
|
mxml.o: ../mxml/mxml.cxx ../mxml/mxml.h
|
|
$(CXX) $(CFLAGS) -c $<
|
|
|
|
strlcpy.o: ../mxml/strlcpy.cxx ../mxml/strlcpy.h
|
|
$(CXX) $(CFLAGS) -c $<
|
|
|
|
$(WX_OBJ): %.o: %.cpp %.h ../mxml/mxml.h ../include/DRS.h
|
|
$(CXX) $(CFLAGS) $(WXFLAGS) -c $<
|
|
|
|
clean:
|
|
rm -f *.o $(OUTNAME) read_binary
|
|
|