⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 e3 是一个全屏的用户友好的文本编辑器
💻
字号:
# 1. edit you OS if you want....OS=LINUX#OS=BEOS#OS=FREEBSD#OS=QNX#OS=ATHEOS#OS=W32 	** please use a separate make.bat for W9x **# Set this to gzexe or upx if you want compressionCOMPRESS=gzexe# 2. edit dest dir prefix if you want....PREFIX='/usr/local'#PREFIX=/boot/home# 3. for vi friends only (else leave as is):#    choice between '/bin/ex' or default '/bin/sed'EXMODE=SED#EXMODE=EXBINDIR='$(PREFIX)/bin'MANSEC='1'MANDIR='$(PREFIX)/man/man$(MANSEC)'#______________________do not edit below line________________________ASOURCES=e3.asm e3.hAFLAGS = -w+orphan-labels -f elf# this fixes a nasty NASM version conflict# NASM 0.98.08 claims to use -O2 by default, but does not.# NASM 0.98    does not know the -O2 switch#ASVER := $(shell nasm -r)ifeq	($(ASVER),NASM version 0.98)	NASM=nasmelse	NASM=nasm -O2endifall:	e3e3:	$(ASOURCES) Makefileifeq	($(OS),LINUX)	echo $(ASVER)	$(NASM) -f bin -l e3.lst -o e3 e3.asm -DCRIPLED_ELF=1 -D$(OS) -D$(EXMODE)	chmod +x e3ifeq	($(COMPRESS),upx)	if which upx > /dev/null 2>&1 ; then \		upx -q -q -q -k -9 e3 ; \	fi ;endififeq	($(COMPRESS),gzexe)	if which gzexe > /dev/null 2>&1 ; then gzexe e3; fi;endifelse	echo $(ASVER)	$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -D$(EXMODE)ifeq	($(OS),QNX)	ld -s -o e3 e3.o -lcelse	ld -s -o e3 e3.oendif	strip --remove-section .comment e3endif	ln -sf e3 e3ws	ln -sf e3 e3em	ln -sf e3 e3pi	ln -sf e3 e3vi	ln -sf e3 e3ne# next three are for testing purpose: linking w libcstatc:	$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -D$(EXMODE)	ld -s -static -o e3statc e3.o -lcdync:	$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -DDYN -D$(EXMODE)	gcc e3.o -o e3dync	# strip e3dyncdync2:ifeq    ($(OS),LINUX)	$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -DDYN -D$(EXMODE)	ld -s -m elf_i386 -o e3dync2 e3.o   \		-lc -dynamic-linker /lib/ld-linux.so.2 \		/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtn.oelse	$(NASM) $(AFLAGS) -o e3.o e3.asm -l e3.lst -D$(OS) -DLIBC -DDYN -D$(EXMODE)	ld -m elf_i386 -o e3dync2 e3.o -lc -e _start /usr/lib/crt1.o      endif# next for running in gnu debuggerdebug:	$(ASOURCES) Makefile	$(NASM) $(AFLAGS) -g -o e3.o e3.asm -l e3.lst -D$(OS) -D$(EXMODE)	ld -s -o e3 e3.o	strip --remove-section .comment e3	ln -sf e3 e3ws	ln -sf e3 e3em	ln -sf e3 e3pi	ln -sf e3 e3vi	ln -sf e3 e3ne# selftest, linux only, assembled with a special option for using an input pipetest:ifeq	($(OS),LINUX)	$(NASM) -f bin -l e3.lst -o e3test e3.asm -DSELFTEST -DCRIPLED_ELF=1 -DLINUX -D$(EXMODE)ifeq	($(COMPRESS),upx)	if which upx > /dev/null 2>&1 ; then \		upx -q -q -q -k -9 e3test ; \	fi ;endififeq	($(COMPRESS),gzexe)	if which gzexe > /dev/null 2>&1 ; then gzexe e3test; fi;endif	if [ -f PIPE_IN ]; then rm PIPE_IN ; fi	if [ -f e3test~ ]; then rm e3test~ ; fi 	chmod +x e3test	cat e3.h tests/e3test0 | ./e3test	clear	diff e3.h PIPE_IN  && echo -e "\n\n\n**** THE TEST WAS SUCCESSFUL ****\n\n\n"	rm PIPE_IN e3testendif# next for cross asm for the ELKS peopleelks:	nasm -w+orphan-labels -f as86 -o e3-16.o e3-16.asm -l e3-16.lst -D AS86 -D ELKS	ld86 -0 -s -i -H 0xF800 -o e3-16 e3-16.o# next two for cross asm testingw32lst:	$(NASM) -f coff -o e3.oW32 e3.asm -l e3.lstW32 -DW32	rm e3.oW32qnxlst:	$(NASM) -f elf -o e3.oQNX e3.asm -l e3.lstQNX -DQNX	rm e3.oQNX# next for release maintainanceman2html:	rman -f HTML e3.man >e3.htmlinstall:	e3ifeq	($(OS),QNX)	cp ./e3 $(BINDIR)/e3	ln -sf $(BINDIR)/e3 $(BINDIR)/e3ws	ln -sf $(BINDIR)/e3 $(BINDIR)/e3em	ln -sf $(BINDIR)/e3 $(BINDIR)/e3pi	ln -sf $(BINDIR)/e3 $(BINDIR)/e3vi	ln -sf $(BINDIR)/e3 $(BINDIR)/e3neelse	install -d $(PREFIX) $(BINDIR) $(MANDIR)	install -m 755 e3 $(BINDIR)	ln -sf $(BINDIR)/e3 $(BINDIR)/e3ws	ln -sf $(BINDIR)/e3 $(BINDIR)/e3em	ln -sf $(BINDIR)/e3 $(BINDIR)/e3pi	ln -sf $(BINDIR)/e3 $(BINDIR)/e3vi	ln -sf $(BINDIR)/e3 $(BINDIR)/e3ne	install -m 644 e3.man $(MANDIR)/e3.$(MANSEC)endifarmlinux:	e3	@cd armlinux && make allclean:	rm -f e3*.o e3*.lst e3 e3em e3pi e3vi e3ws e3ne *~ \		PIPE_IN e3test~ e3test e3dync e3dync2 e3statc \		armlinux/*.o armlinux/e3arm

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -