aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile
blob: 3011366c30d63a578719af0726b6bb19c006956f (plain)
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
INTERFACE?=GTK

GOB2:=gob2

GLIB_CFLAGS:=$(shell pkg-config --cflags glib-2.0)
GLIB_LDFLAGS:=$(shell pkg-config --libs glib-2.0)

ifeq ($(INTERFACE),GTK)
GTK_CFLAGS:=$(shell pkg-config --cflags gtk+-2.0)
GTK_LDFLAGS:=$(shell pkg-config --libs gtk+-2.0)
else ifeq ($(INTERFACE),NCURSES)
# TODO
endif

SCI_CFLAGS:=-I../scintilla/include -D$(INTERFACE) -DSCI_LEXER
SCI_LDFLAGS:=../scintilla/bin/scintilla.a

CPPFLAGS:=-DINTERFACE_$(INTERFACE)
CFLAGS:=-Wall -std=c99 -g -O0 \
	$(GLIB_CFLAGS) $(GTK_CFLAGS) $(SCI_CFLAGS)
CXXFLAGS:=-Wall -g -O0 \
	  $(GLIB_CFLAGS) $(GTK_CFLAGS) $(SCI_CFLAGS)
LDFLAGS:=$(GLIB_LDFLAGS) $(GTK_LDFLAGS) $(SCI_LDFLAGS)

all : sciteco

sciteco : main.o cmdline.o undo.o expressions.o qbuffers.o \
	  parser.o goto.o rbtree.o \
	  interface.a
	$(CXX) -o $@ $^ $(LDFLAGS)

ifeq ($(INTERFACE),GTK)

interface.a : interface-gtk.o gtk-info-popup.o
	$(AR) rc $@ $^
interface-gtk.o : gtk-info-popup.h

else ifeq ($(INTERFACE),NCURSES)

# TODO
interface.a :
	$(AR) rc $@ $^

endif

%.c %.h %-private.h : %.gob
	$(GOB2) $<

clean:
	$(RM) sciteco *.o *.a
	$(RM) gtk-info-popup*.[ch]