Files

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