URL
https://opencores.org/ocsvn/zipcpu/zipcpu/trunk
Subversion Repositories zipcpu
[/] [zipcpu/] [trunk/] [sw/] [zasm/] [Makefile] - Rev 69
Go to most recent revision | Compare with Previous | Blame | View Log
################################################################################## Filename: Makefile## Project: Zip CPU -- a small, lightweight, RISC CPU soft core## Purpose: This makefile builds an assembler preprocessor (zpp), an# assembler (zasm) and a disassembler (zdump). Make with no# arguments will produce these files. Other targets include:## make clean# make test# Assembles a test file and then produces a disassembly of it.# make depends# Doesn't work. Dependencies are currently all hand coded.# make optest# make tags### Creator: Dan Gisselquist, Ph.D.# Gisselquist Technology, LLC################################################################################### Copyright (C) 2015, Gisselquist Technology, LLC## This program is free software (firmware): you can redistribute it and/or# modify it under the terms of the GNU General Public License as published# by the Free Software Foundation, either version 3 of the License, or (at# your option) any later version.## This program is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License# for more details.## License: GPL, v3, as defined and found on www.gnu.org,# http://www.gnu.org/licenses/gpl.html###################################################################################OBJDIR= obj-pcCXX= g++CC= gccYACC= bisonLEX= flexYYMMDD=`date +%Y%m%d`DBGFLAGS= -g -O0OPTFLAGS= -O3CCFLAGS= $(DBGFLAGS)PROGRAMS= zasm optest zdump zpp.PHONY: programsall: $(OBJDIR)/ programsprograms: $(PROGRAMS)$(OBJDIR)/zpp.cpp: zpp.l$(LEX) -o $@ $^$(OBJDIR)/zpp.o: $(OBJDIR)/zpp.cpp$(CXX) -c $(CCFLAGS) $(OBJDIR)/zpp.cpp -o $@zpp: $(OBJDIR)/zpp.o$(CXX) -o $@ $(CCFLAGS) $^$(OBJDIR)/zasm.tab.h: zasm.y asmdata.h zparser.h$(YACC) -b $(OBJDIR)/zasm -d zasm.yzasm.output: zasm.y asmdata.h$(YACC) -v -b $(OBJDIR)/zasm -d zasm.y$(OBJDIR)/zasm.lex.cpp: zasm.l $(OBJDIR)/zasm.tab.h$(LEX) -o $@ zasm.l$(OBJDIR)/zasm.lex.o: $(OBJDIR)/zasm.lex.cpp$(CXX) -c -I. -I$(OBJDIR)/ $(CCFLAGS) $(OBJDIR)/zasm.lex.cpp -o $@$(OBJDIR)/zasm.tab.o: $(OBJDIR)/zasm.tab.c $(OBJDIR)/zasm.tab.h$(CXX) -c -I. -I$(OBJDIR)/ $(CCFLAGS) $(OBJDIR)/zasm.tab.c -o $@$(OBJDIR)/asmdata.o: asmdata.cpp zopcodes.h zparser.h$(CXX) -c -I. $(CCFLAGS) asmdata.cpp -o $@zasm: $(OBJDIR)/zasm.lex.o $(OBJDIR)/zasm.tab.o $(OBJDIR)/asmdata.ozasm: $(OBJDIR)/zparser.o $(OBJDIR)/zopcodes.o $(OBJDIR)/twoc.o$(CXX) -o $@ $(CCFLAGS) $^optest: optest.cpp zopcodes.cpp twoc.cpp twoc.h zopcodes.h$(CXX) $(CCFLAGS) optest.cpp zopcodes.cpp twoc.cpp -o optestZDMPSRC= zdump.cpp zopcodes.cpp twoc.cppZDMPOBJ= $(addprefix $(OBJDIR)/,$(subst .cpp,.o,$(ZDMPSRC)))zdump: $(ZDMPOBJ)$(CXX) $(CCFLAGS) $(ZDMPOBJ) -o $@$(OBJDIR)/%.o: %.cpp$(CXX) -c $(CCFLAGS) $< -o $@$(OBJDIR)/:@bash -c "if [ ! -e $(OBJDIR) ]; then mkdir -p $(OBJDIR); fi".PHONY: testtest: dumpd.txtz.out: test.S sys.i zasm zdump zpp./zasm test.S -o z.outdumpd.txt: z.out zdump./zdump z.out > dumpd.txtdefine build-depends@echo "Building dependency file(s)"@$(CXX) -I $(OBJDIR)/ $(CCFLAGS) -MM *.cpp > xd.txt@$(CXX) -I $(OBJDIR)/ -I. $(CCFLAGS) -MM $(OBJDIR)/zasm.tab.c >> xd.txt@$(CXX) -I $(OBJDIR)/ -I. $(CCFLAGS) -MM $(OBJDIR)/zpp.cpp >> xd.txt@sed -e 's/^.*.o: /$(OBJDIR)\/&/' < xd.txt > $(OBJDIR)/depends.txt@rm xd.txtendeftags: $(SOURCES) $(HEADERS)@echo "Generating tags"@ctags *.cpp *.h # $(SOURCES) $(HEADERS).PHONY: dependsdepends: tags$(build-depends)$(OBJDIR)/depends.txt: $(SOURCES) $(HEADERS)$(build-depends).PHONY: cleanclean:rm -rf $(OBJDIR) $(PROGRAMS) z.out dumpd.txt-include $(OBJDIR)/depends.txt
Go to most recent revision | Compare with Previous | Blame | View Log
