Home | History | Annotate | Line # | Download | only in dist
Makefile revision 1.1
      1  1.1  nia # This just shortcuts stuff through to cmake
      2  1.1  nia all build ctwm man man-html man-all install clean: build/Makefile
      3  1.1  nia 	( cd build && ${MAKE} ${@} )
      4  1.1  nia 
      5  1.1  nia build/Makefile cmake: CMakeLists.txt
      6  1.1  nia 	( mkdir -p build && cd build && \
      7  1.1  nia 		cmake -DCMAKE_C_FLAGS:STRING="${CFLAGS}" ${CMAKE_EXTRAS} .. )
      8  1.1  nia 
      9  1.1  nia allclean distclean:
     10  1.1  nia 	rm -rf build/*
     11  1.1  nia 
     12  1.1  nia 
     13  1.1  nia 
     14  1.1  nia #
     15  1.1  nia # The below targets are mostly only of interest to developers
     16  1.1  nia #
     17  1.1  nia 
     18  1.1  nia # Add'l thunks to cmake
     19  1.1  nia .PHONY: tags
     20  1.1  nia man-pdf doxygen doxyclean tags: build/Makefile
     21  1.1  nia 	( cd build && ${MAKE} ${@} )
     22  1.1  nia 
     23  1.1  nia # Make sure everything's build before running tests
     24  1.1  nia .PHONY: test
     25  1.1  nia test:
     26  1.1  nia 	( cd build && ${MAKE} test_bins )
     27  1.1  nia 	( cd build && ${MAKE} CTEST_OUTPUT_ON_FAILURE=1 ${@} )
     28  1.1  nia 
     29  1.1  nia # Reindent files
     30  1.1  nia indent:
     31  1.1  nia 	astyle -n --options=tools/ctwm.astyle *.h *.c
     32  1.1  nia 
     33  1.1  nia 
     34  1.1  nia # Build documentation files
     35  1.1  nia DOC_FILES=README.html CHANGES.html
     36  1.1  nia docs: ${DOC_FILES}
     37  1.1  nia docs_clean doc_clean:
     38  1.1  nia 	rm -f ${DOC_FILES}
     39  1.1  nia 
     40  1.1  nia .SUFFIXES: ${.SUFFIXES} .html .md
     41  1.1  nia .md.html:
     42  1.1  nia 	multimarkdown -afo ${@} ${<}
     43  1.1  nia 
     44  1.1  nia 
     45  1.1  nia # asciidoc files
     46  1.1  nia UMAN=doc/manual
     47  1.1  nia adocs:
     48  1.1  nia 	(cd ${UMAN} && make all_set_version)
     49  1.1  nia adocs_pregen:
     50  1.1  nia 	(cd ${UMAN} && make all)
     51  1.1  nia adoc_clean:
     52  1.1  nia 	(cd ${UMAN} && make clean)
     53  1.1  nia 
     54  1.1  nia 
     55  1.1  nia #
     56  1.1  nia # Pre-build some files for tarballs
     57  1.1  nia #
     58  1.1  nia GEN=gen
     59  1.1  nia ${GEN}:
     60  1.1  nia 	mkdir -p ${GEN}
     61  1.1  nia 
     62  1.1  nia # All the generated source files
     63  1.1  nia _RELEASE_FILES=gram.tab.c gram.tab.h lex.c version.c.in ctwm.1 ctwm.1.html
     64  1.1  nia RELEASE_FILES=${_RELEASE_FILES:%=${GEN}/%}
     65  1.1  nia 
     66  1.1  nia # Build those, the .html versions of the above docs, and the HTML/man
     67  1.1  nia # versions of the manual
     68  1.1  nia release_files: ${GEN} build/MKTAR_GENFILES ${RELEASE_FILES} ${DOC_FILES}
     69  1.1  nia release_clean: doc_clean adoc_clean
     70  1.1  nia 	rm -rf ${GEN}
     71  1.1  nia 
     72  1.1  nia # Stuff for thunking to cmake
     73  1.1  nia build/MKTAR_GENFILES: build/Makefile
     74  1.1  nia 	(cd build ; make mktar_genfiles)
     75  1.1  nia 
     76  1.1  nia # The config grammar
     77  1.1  nia ${GEN}/gram.tab.c: ${GEN}/gram.tab.h
     78  1.1  nia ${GEN}/gram.tab.h: ${GEN} gram.y build/MKTAR_GENFILES
     79  1.1  nia 	cp build/gram.tab.[ch] ${GEN}/
     80  1.1  nia 
     81  1.1  nia ${GEN}/lex.c: ${GEN} lex.l build/MKTAR_GENFILES
     82  1.1  nia 	cp build/lex.c ${GEN}/
     83  1.1  nia 
     84  1.1  nia # Setup version file
     85  1.1  nia ${GEN}/version.c.in: ${GEN} version.c.in .bzr/checkout/dirstate
     86  1.1  nia 	tools/rewrite_version_bzr.sh < version.c.in > ${GEN}/version.c.in
     87  1.1  nia 
     88  1.1  nia # Generate pregen'd manuals
     89  1.1  nia ${GEN}/ctwm.1: ${UMAN}/ctwm.1
     90  1.1  nia ${GEN}/ctwm.1.html: ${UMAN}/ctwm.1.html
     91  1.1  nia ${GEN}/ctwm.1 ${GEN}/ctwm.1.html:
     92  1.1  nia 	cp ${UMAN}/ctwm.1 ${UMAN}/ctwm.1.html ${GEN}/
     93  1.1  nia ${UMAN}/ctwm.1 ${UMAN}/ctwm.1.html:
     94  1.1  nia 	(cd ${UMAN} && make clean all)
     95  1.1  nia 
     96  1.1  nia 
     97  1.1  nia # Thunk through to gen'ing tarball
     98  1.1  nia tar:
     99  1.1  nia 	tools/mk_tar.sh
    100