File: Makefile

package info (click to toggle)
glpuzzle 0.2-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,412 kB
  • ctags: 210
  • sloc: cpp: 1,371; makefile: 48
file content (56 lines) | stat: -rw-r--r-- 1,376 bytes parent folder | download
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
PROGRAM = glpuzzle

CXXFLAGS = -O2 -Wall
INCLFLAGS = -I/usr/include/SDL
LIBSFLAGS = -lpthread -lGL -lpthread -lpng -ljpeg -lSDL
SOURCES = main.cxx Screen.cxx Texture.cxx Loader.cxx

ENABLE_SOUND = 1

PREFIX ?= /usr/local

ifeq ($(ENABLE_SOUND),1)
	CXXFLAGS += -DENABLE_SOUND
	LIBSFLAGS += -lSDL_mixer
endif

all: $(PROGRAM) README


DEPENDS = $(SOURCES:.cxx=.d)
OBJECTS = $(SOURCES:.cxx=.o)

include VERSION
include $(DEPENDS)

VERSION: main.cxx
	echo VERSION=`grep version main.cxx | head -1| sed 's/.*version //'` > VERSION

version.hxx: main.cxx
	echo "/* do not edit, edit main.cxx instead */" > version.hxx
	echo \#define VERSIONSTR \"`grep version main.cxx | head -1| sed 's/.*version //'`\" >> version.hxx

clean:
	rm -f $(OBJECTS) $(DEPENDS) $(PROGRAM)

%.d: %.cxx
	@echo generating $@
	@g++ -M $(INCLFLAGS) $< -o $@.tmp
	@( cat $@.tmp ; cat $@.tmp | sed s/\.o:/.d:/ ) > $@
	@rm $@.tmp
	
%.o: %.cxx
	g++ -c $(CXXFLAGS) $(INCLFLAGS) $< -o $@ 

$(PROGRAM): $(OBJECTS) 
	g++ $(OBJECTS) $(LIBSFLAGS) -o $@

install: $(PROGRAM)
	@echo Installing in $(PREFIX)
	rm -rf $(PREFIX)/lib/$(PROGRAM)/
	mkdir -p $(PREFIX)/lib/$(PROGRAM)/
	cp -r font image sound puzzles $(PREFIX)/lib/$(PROGRAM)/
	cp $(PROGRAM) $(PREFIX)/lib/$(PROGRAM)/$(PROGRAM).bin
	echo -e '#!/bin/sh\n$(PREFIX)/lib/$(PROGRAM)/$(PROGRAM).bin $$*\n' > $(PREFIX)/bin/$(PROGRAM)
	chmod +x $(PREFIX)/bin/$(PROGRAM)