Guest User

makefile

a guest
Oct 1st, 2013
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 0.94 KB | None | 0 0
  1. PROGRAM=gtk-display.so
  2. LIBS=`pkg-config --libs gtk+-3.0 gobject-introspection-1.0`
  3. LIBS_TEST=`pkg-config --libs gtk+-3.0` build/$(PROGRAM)
  4. DEFS=-DGTK_MULTIHEAD_SAFE
  5. OBJS=gtk-display
  6.  
  7. REAL_OBJS=$(addsuffix .o,$(addprefix build/,$(OBJS)))
  8. CFLAGS=-O3 -Wall -fpic -g `pkg-config --cflags gtk+-3.0 gobject-introspection-1.0` $(DEFS)
  9. CXXFLAGS=$(CFLAGS)
  10. CXX=g++
  11. LD=$(CXX)
  12. LDFLAGS=-O2 -fpic -shared $(LIBS)
  13. LDFLAGS_TEST=-O2 -fpic $(LIBS_TEST)
  14. COMPILE=$(CXX) $(CXXFLAGS)
  15. LINK=$(LD) $(LDFLAGS)
  16. LINK_TEST=$(LD) $(LDFLAGS_TEST)
  17. COPY=cp
  18. DELETE=rm -rf
  19. MKDIR=mkdir -p
  20.  
  21. all: build build/$(PROGRAM) test ; @echo \* Built all targets successfully.
  22.  
  23. clean:
  24.     $(DELETE) build test
  25.  
  26. .PHONY: all clean install install-debug
  27.  
  28. test: build/test.o
  29.     $(LINK_TEST) -o $@ $^ $(LIBS_TEST)
  30.  
  31. build: ; $(MKDIR) build
  32.  
  33. build/$(PROGRAM): $(REAL_OBJS)
  34.     $(LINK) -o $@ $^ $(LIBS)
  35.     $(COPY) build/$(PROGRAM) lib$(PROGRAM)
  36.  
  37. build/%.o: %.c
  38.     $(COMPILE) -c -o $@ $<
Advertisement
Add Comment
Please, Sign In to add comment