aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile
blob: f90d3fb5ecc15dcc4a6091cc64aedfb32fc2c676 (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
53
54
55
56
57
58
59
60
61
62
63
INTERFACE?=GTK
PREFIX?=/usr/local

GOB2:=gob2
CC:=gcc
CXX:=g++
INSTALL:=install

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

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

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)
SCI_CFLAGS+=-I$(SCI_DIR)/scinterm
NCURSES_CFLAGS:=
NCURSES_LDFLAGS:=-lncurses
endif

CPPFLAGS:=-DINTERFACE_$(INTERFACE)
CFLAGS:=-Wall -std=c99 -g -O0 \
	$(GLIB_CFLAGS) $(GTK_CFLAGS) $(NCURSES_CFLAGS) $(SCI_CFLAGS)
CXXFLAGS:=-Wall -g -O0 \
	  $(GLIB_CFLAGS) $(GTK_CFLAGS) $(NCURSES_CFLAGS) $(SCI_CFLAGS)
LDFLAGS:=$(GLIB_LDFLAGS) $(GTK_LDFLAGS) $(NCURSES_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 $@ $^
	touch $@
interface-gtk.o : gtk-info-popup.h

else ifeq ($(INTERFACE),NCURSES)

interface.a : interface-ncurses.o
	$(AR) rc $@ $^
	touch $@

endif

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

install: all
	$(INSTALL) sciteco $(PREFIX)/bin

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