-
Notifications
You must be signed in to change notification settings - Fork 9
/
Makefile.gtk
54 lines (39 loc) · 1.51 KB
/
Makefile.gtk
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
TARGET = retroarch-phoenix
RUBYOBJ = ruby/ruby.o
RUBYDEFINES = -DINPUT_SDL
RUBYLIBS = -lSDL -lX11
CXXFILES = $(wildcard *.cpp)
CFILES = $(wildcard *.c)
OBJ = phoenix/phoenix.o $(CXXFILES:.cpp=.o) $(CFILES:.c=.o) $(RUBYOBJ)
HEADERS = $(wildcard *.h) $(wildcard *.hpp)
GTK_CFLAGS = $(shell pkg-config --cflags gtk+-2.0)
GTK_LIBS = $(shell pkg-config --libs gtk+-2.0)
INCLUDES = -Iphoenix -I.
CXXFLAGS += -O3 -std=gnu++0x -Wno-narrowing
CFLAGS += -O3 -std=gnu99
PREFIX = /usr/local
all: $(TARGET)
%.o: %.cpp $(HEADERS)
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
%.o: %.c $(HEADERS)
$(CC) $(CFLAGS) -c -o $@ $<
phoenix/phoenix.o: $(wildcard phoenix/**/*.cpp) $(wildcard phoenix/**/*.hpp)
$(CXX) $(CXXFLAGS) $(INCLUDES) -DPHOENIX_GTK $(GTK_CFLAGS) -c -o $@ phoenix/phoenix.cpp
ruby/ruby.o: $(wildcard ruby/**/*.hpp) $(wildcard ruby/**/*.cpp)
$(CXX) $(CXXFLAGS) $(INCLUDES) $(RUBYDEFINES) -c -o $@ ruby/ruby.cpp
$(TARGET): $(OBJ)
$(CXX) -o $@ $(OBJ) $(GTK_LIBS) $(RUBYLIBS) -s -ldl
clean:
rm -f *.o
rm -f $(TARGET)
rm -f phoenix/*.o
rm -f ruby/*.o
install: $(TARGET)
install -D -m755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
install -D -m644 retroarch-phoenix.png $(DESTDIR)/usr/share/pixmaps/retroarch-phoenix.png
install -D -m644 retroarch-phoenix.desktop $(DESTDIR)/usr/share/applications/retroarch-phoenix.desktop
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/$(TARGET)
rm -f $(DESTDIR)/usr/share/pixmaps/retroarch-phoenix.png
rm -f $(DESTDIR)/usr/share/applications/retroarch-phoenix.desktop
.PHONY: clean install uninstall