# Generic makefile for mBuild build process # defile default operations NOP = @echo "No operation for target $@" COMPILE = $(NOP) COMPILE_TARGET = compile.stamp COPY = $(NOP) ZIP = zip -r $(project).zip $(project) DEB = fakeroot dpkg-deb --build $(project) INSERT_BUILD = projects/tools/make/insert_build.sh #default parameters project = default SOURCES = COPY_PRE = # Load project specification include make.pre .SUFFIXES: .stamp .zip #----------------------------------------------------------------- # Hauptziele: # # : ohne Parameter wird compiliert # - zip : packt ZIP file # - deb : packt Debian package # #----------------------------------------------------------------- compile: $(COMPILE_TARGET) # compile is ready zip: $(project).zip # ZIP file ready deb: $(project).deb # Debian package ready version: $(COMPILE_TARGET) $(INSERT_BUILD) $(COMPILE_TARGET) $(build) #----------------------------------------------------------------- # compile steps #----------------------------------------------------------------- compile.stamp: $(SOURCES) $(COMPILE) @touch compile.stamp #----------------------------------------------------------------- # pack steps #----------------------------------------------------------------- copy.stamp: $(COPY_PRE) $(COPY) $(project) $(version) ${arch} @touch copy.stamp control.stamp: $(project).control mkdir -p $(project)/DEBIAN cp $(project).control $(project)/DEBIAN/control if [ -f $(project).preinst ]; then cp $(project).preinst $(project)/DEBIAN/preinst; fi if [ -f $(project).postinst ]; then cp $(project).postinst $(project)/DEBIAN/postinst; fi if [ -f $(project).prerm ]; then cp $(project).prerm $(project)/DEBIAN/prerm; fi if [ -f $(project).postrm ]; then cp $(project).postrm $(project)/DEBIAN/postrm; fi @touch control.stamp $(project).zip: copy.stamp $(project) $(ZIP) $(project).deb: copy.stamp control.stamp $(DEB) cp $(project).deb $(project)_$(version)$(_arch).deb #----------------------------------------------------------------- # utilities #----------------------------------------------------------------- clean: -rm *.stamp 2>/dev/null if [ -e $(project).zip ]; then rm $(project).zip; fi if [ -e $(project) ]; then rm -rf $(project); fi #----------------------------------------------------------------- # Build-Regeln #----------------------------------------------------------------- %.pdf : %.tex $(SOURCES) pdflatex $< && pdflatex $<