1 # Automatically default to a release build.
13 SOURCES = src/calculator.c src/commands.c \
14 src/console/error.c src/console/help.c src/operators.c src/parser.c \
15 src/stack.c src/tokens.c src/variables.c \
16 src/gui/App.cpp src/gui/MainForm.cpp
18 OBJECTS = $(subst .cpp,.opp,$(subst .c,.o,$(subst $(SRCDIR),$(OBJDIR),$(SOURCES))))
20 WX_INCLUDE = $(shell wx-config --cppflags)
23 CFLAGS = -c -s -Wall -O2 -DRPN_CONSOLE -DRPN_LONG_DOUBLE -D_GNU_SOURCE \
25 CPPFLAGS = -c -s -Wall -O2 -DRPN_GUI -DRPN_LONG_DOUBLE -D_GNU_SOURCE \
26 -Isrc/include $(WX_INCLUDE) -o
29 CFLAGS = -c -Wall -g -DRPN_CONSOLE -DRPN_LONG_DOUBLE -D_GNU_SOURCE -DRPN_DEBUG \
31 CPPFLAGS = -c -g -Wall -DRPN_GUI -DRPN_LONG_DOUBLE -D_GNU_SOURCE \
32 -Isrc/include -I$(WX_INCLUDE) -o
35 # General rule for compiling.
36 $(OBJDIR)%.o: $(SRCDIR)%.c
37 @echo Compiling $(notdir $<)
38 @$(CC) $< $(CFLAGS) $@
39 $(OBJDIR)%.opp: $(SRCDIR)%.cpp
40 @echo Compiling $(notdir $<)
41 @$(CPP) $< $(CPPFLAGS) $@
43 TARGET = $(BINDIR)rpn-gui
44 LFLAGS = -s -lm $(shell wx-config --libs) -o
47 @echo Linking $(TARGET)...
48 @$(CPP) $(OBJECTS) $(LFLAGS) $@
52 $(RM) $(TARGET) $(OBJECTS)