# Makefile for trap2/3 assembler, Sweet-16 assembler and some other utilities. # 7 Apr 2004 V. Angelov, J. de Cuveland # Modifications to build RPM # - installation in configurable directories # # 2 Nov 2006 T. Dietel help: Makefile ## Print this help text @perl -nle 'printf(" %-20s %s\n",$$1,$$2) if /^(\S+):.*##\s*(.*)/' $^ # Package information PACKAGE = trapasm VERSION = 0.6.2 RELEASE = 1 # Read information from config.mk include config.mk BINARIES = codem dat2inc asm_mimd SOURCES = $(BINARIES:=.pas) lib_mimd.pas SVNREPO = https://alice.physi.uni-heidelberg.de/svn/trd/TRAP_compilers/trapasm INSTALL = install all: $(BINARIES) ## Build package locally install: ## Install package dist: $(PACKAGE)-$(VERSION).tar.gz ## Create .tar.gz source package rpm: $(PACKAGE)-$(VERSION).tar.gz; rpmbuild -ta $< ## Build RPM package # target to upload source .tar.gz for e.g. macOS homebrew release: $(PACKAGE)-$(VERSION).tar.gz ## Create SVN tags and publish artifacts # ensure working dir is ready for release svnversion | egrep '^[:0-9:]+$$' sha256sum $^ svn copy -m "Release $(VERSION)" . $(SVNREPO)/tags/$(VERSION) scp $< lxplus.cern.ch:/eos/project-a/alice-trd/www/download/src/ info: ## Show workdir / repository info @echo "===== Subversion Info ============================================" svn info svnversion @echo "===== Subversion Tags ============================================" svn ls $(SVNREPO)/tags $(BINARIES) : % : %.pas lib_mimd.ppu fpc -O3 -Os -Cr- -Co- -Ct- -CX -XX $< # fpc -O3 -Og -Op2 -Cr- -Co- -Ct- -CX -XX $< # use -ddefinc to enable the additional location for the asm_mimd.inc file # see the top of asm_mimd.pas, now is: # alternat_deffile = '/usr/share/trapasm/asm_mimd.inc'; # the last possible location is pointed by the environment variable ASM_MIMD_INC, # e.g. export ASM_MIMD_INC='/usr/share/trapasm/asm_mimd.inc' # fpc -O3 -Og -Op2 -Cr- -Co- -Ct- -CX -XX -ddefinc $< %.ppu : %.pas fpc -O3 -Os -Cr- -Co- -Ct- -CX -XX $< # fpc -O3 -Og -Op2 -Cr- -Co- -Ct- -CX -XX $< $(PACKAGE).spec: $(PACKAGE).spec.m4 Makefile m4 -D__VERSION__=$(VERSION) -D__RELEASE__=$(RELEASE) $< > $@ .PHONY: install install : $(addprefix $(DESTDIR)/$(BINDIR)/, $(BINARIES)) \ $(DESTDIR)/$(TRAPDIR)/asm_mimd.inc $(DESTDIR)/$(BINDIR)/%: % $(INSTALL) -d -m 755 $(dir $@) $(INSTALL) -m 755 $< $@ $(DESTDIR)/$(TRAPDIR)/%: % $(INSTALL) -d -m 755 $(dir $@) $(INSTALL) -m 644 $< $@ uninstall: rm -f $(addprefix $(DESTDIR)/$(BINDIR)/, $(BINARIES)) rm -f $(DESTDIR)/$(TRAPDIR)/asm_mimd.inc asm.zip : $(BINARIES:=.pas) lib_mimd.pas asm_mimd.inc Makefile zip -9 $@ $^ .PRECIOUS: $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION).tar.gz: $(SOURCES) \ asm_mimd.inc \ configure \ Makefile \ trapasm.spec rm -rf $(PACKAGE)-$(VERSION) mkdir -p $(PACKAGE)-$(VERSION) cp $^ $(PACKAGE)-$(VERSION) tar -cvzf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) rm -rf $(PACKAGE)-$(VERSION) clean : rm -f asm.zip $(BINARIES) $(BINARIES:%=libp%.a) $(BINARIES:=.o) \ lib_mimd.o libplib_mimd.a lib_mimd.ppu .PHONY : all install clean rpm