kranewm

An ICCCM & EWMH compliant X11 reparenting, dynamic window manager, written in C++
git clone git://git.deurzen.net/kranewm
Log | Files | Refs | LICENSE

Makefile (1872B)


      1 include config.mk
      2 
      3 all: quick_debug
      4 
      5 quick_release:
      6 	$(MAKE) -j$$(( 10 * $(shell nproc) )) release
      7 
      8 quick_debug:
      9 	$(MAKE) -j$$(( 10 * $(shell nproc) )) debug
     10 
     11 debug: CXXFLAGS += $(DEBUG_CXXFLAGS)
     12 debug: LDFLAGS += $(DEBUG_LDFLAGS)
     13 debug: winsys
     14 debug: core
     15 debug: client
     16 debug: bar
     17 	+$(MAKE) run tags
     18 
     19 release: CXXFLAGS += $(RELEASE_CXXFLAGS)
     20 release: LDFLAGS += $(RELEASE_LDFLAGS)
     21 release: winsys
     22 release: core
     23 release: client
     24 release: bar
     25 
     26 install:
     27 	install -m0755 $(BINDIR)/$(PROJECT) $(DESTDIR)$(INSTALLDIR)/$(PROJECT)
     28 	install -m0755 $(BINDIR)/$(CLIENT) $(DESTDIR)$(INSTALLDIR)/$(CLIENT)
     29 	install -m0755 $(BINDIR)/$(BAR) $(DESTDIR)$(INSTALLDIR)/$(BAR)
     30 
     31 winsys: bin obj ${WINSYS_LINK_FILES}
     32 
     33 core: bin obj ${CORE_LINK_FILES}
     34 	${CC} ${CXXFLAGS} ${CORE_LINK_FILES} ${LDFLAGS} -o $(BINDIR)/$(PROJECT)
     35 
     36 client: bin obj ${CLIENT_LINK_FILES}
     37 	${CC} ${CXXFLAGS} ${CLIENT_LINK_FILES} ${LDFLAGS} -o $(BINDIR)/$(CLIENT)
     38 
     39 bar: bin obj ${BAR_LINK_FILES}
     40 	${CC} ${CXXFLAGS} ${BAR_LINK_FILES} ${LDFLAGS} -o $(BINDIR)/$(BAR)
     41 
     42 -include $(DEPS)
     43 
     44 obj/%.o: obj
     45 
     46 obj/winsys/%.o: src/winsys/%.cc
     47 	${CC} ${CXXFLAGS} -MMD -c $< -o $@
     48 
     49 obj/winsys/xdata/%.o: src/winsys/xdata/%.cc
     50 	${CC} ${CXXFLAGS} -MMD -c $< -o $@
     51 
     52 obj/core/%.o: src/core/%.cc
     53 	${CC} ${CXXFLAGS} -MMD -c $< -o $@
     54 
     55 obj/client/%.o: src/client/%.cc
     56 	${CC} ${CXXFLAGS} -MMD -c $< -o $@
     57 
     58 obj/bar/%.o: src/bar/%.cc
     59 	${CC} ${CXXFLAGS} -MMD -c $< -o $@
     60 
     61 run:
     62 	@echo [running]
     63 	@./launch
     64 
     65 bin:
     66 	@[ -d bin ] || mkdir bin
     67 
     68 obj:
     69 	@[ -d obj ] || mkdir -p obj/{winsys/xdata,core,client,bar}
     70 
     71 notify-core:
     72 	@echo [building core]
     73 
     74 notify-client:
     75 	@echo [building client]
     76 
     77 notify-bar:
     78 	@echo [building bar]
     79 
     80 notify-link:
     81 	@echo [linking]
     82 
     83 .PHONY: tags
     84 tags:
     85 	@echo [generating tags]
     86 	@git ls-files | ctags -R --exclude=.git --c++-kinds=+p --links=no --fields=+iaS --extras=+q -L-
     87 
     88 .PHONY: clean
     89 clean:
     90 	@echo [cleaning]
     91 	@rm -rf ./bin ./obj