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

📄 gnumake

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻
字号:
include $(DEVDIR)/build/mif/master.mk

SRCDIRS = ./c $(CPP_DIR) $(WATCOM_DIR)/c

vpath %.c $(SRCDIRS)

OBJECTS =
OBJECTS += ytab.o
OBJECTS += errors.o errprt.o exeobj.o exeres.o exerespe.o
OBJECTS += exeseg.o exeutil.o global.o
OBJECTS += keyword.o layer0.o param.o pass2.o rc.o rcio.o
OBJECTS += rcmem.o rcstr.o ppalloc.o scan.o semaccel.o
OBJECTS += semutil.o wrstubs.o bootstub.o
OBJECTS += semantic.o semdiag.o semmenu.o semver.o semtbar.o
OBJECTS += semraw.o semsingl.o semstr.o swchar.o dbtable.o
OBJECTS += preproc.o ppexpr.o ppmacro.o
OBJECTS += tmpctl.o autodep.o
OBJECTS += rcldstr.o rcalloc1.o rcalloc0.o sharedio.o semresfl.o

OBJECTS := $(foreach i,$(OBJECTS),$(OBJDIR)/$i)

GENERATED_FILES = ytab.gh usage.h rcmsg.gh weights.gh
GENERATED_FILES := $(foreach i,$(GENERATED_FILES),$(OBJDIR)/$i) 

INCDIRS += $(RC_DIR)/h
INCDIRS += $(OBJDIR)
INCDIRS += $(CPP_DIR)
INCDIRS += $(WRES_DIR)/h
INCDIRS += $(FE_MISC_DIR)/h
INCDIRS += $(H_DIR)
INCDIRS += $(WATCOMH)

LIBDIRS += $(RC_DIR)/$(OBJDIR)
LIBDIRS += $(WRES_DIR)/$(OBJDIR)
LIBDIRS += $(WCLIB_DIR)/$(OBJDIR)
LIBDIRS += $(CPP_DIR)/$(OBJDIR)
LIBDIRS += /usr/local/lib

LIBS	+= -lrc
#LIBS	+= -lcpp
LIBS	+= -lwres
LIBS	+= -lwatcom

vpath %.h $(SRCDIRS) $(INCDIRS)

LIBNAME = rc
NAME = rc

WYACC_FLAGS = -d -b -s

# host_OS = dos
# host_CPU = 386

DEFS += -DBOOTSTRAP_RC -DSCANDEBUG -DYYDEBUG #-DNATURAL_PACK
CFLAGS += $(OPT_PIC)

$(OBJDIR)/$(NAME)	: $(OBJDIR) $(OBJDIR)/lib$(LIBNAME).a
	$(CC) $(CFLAGS) -o $@ $(LIBS)

$(OBJDIR)/lib$(LIBNAME).a : $(GENERATED_FILES) $(OBJECTS)
	@rm -f $@
	$(AR) crs $@ $(OBJECTS)

$(OBJECTS)	: $(GENERATED_FILES)

$(OBJDIR)/rcmsg.gh: $(RC_DIR)/h/rc.msg
	perl $(SDK_DIR)/misc/msgtoh.pl <$(RC_DIR)/h/rc.msg >$(OBJDIR)/rcmsg.gh

$(OBJDIR)/rc.res: rc.rc
	rc -r -i=/src/cproj/rc/h\;/src/watcom/h rc.rc -fo=$(OBJDIR)/rc.res

$(OBJDIR)/ytab.c $(OBJDIR)/ytab.h: y/rc.y y/yydriver.c
	cd $(OBJDIR);byacc $(WYACC_FLAGS) $(RC_DIR)/y/rc.y $(RC_DIR)/y/yydriver.c >out

$(OBJDIR)/ytab.gh: $(OBJDIR)/ytab.h
	rm -f $@
	cp $< $@

$(OBJDIR)/usage.h: usage.sp gnumake
	tr -d "\015" <$< | sed 's/\(.*\)/"\1",/' | sed 's;/;-;' >$@

#
# Note: "findhash" is compiled from //lang/fe_misc/c/findhash.c
#
$(OBJDIR)/weights.gh $(OBJDIR)/keywords.gh: hash/rc.key
	$(CC) ../../../fe_misc/c/findhash.c -o $(OBJDIR)/findhash
	@rm -f $(OBJDIR)/weights.gh $(OBJDIR)/keywords.gh
	cd $(OBJDIR);./findhash -m ../hash/rc.key >/dev/null
	@rm $(OBJDIR)/findhash

clean	:
	rm -rf $(OBJDIR)

$(OBJDIR):
	mkdir $(OBJDIR)

.PHONY	: dep depend make
dep depend make:
	$(MKMK) -Q -m .depend -f '$$(OBJDIR)/%s' nopath -f '$$(OBJDIR)/%s' \
		$(foreach i,$(SRCDIRS),$i/*.[ch]) \
		$(foreach i,$(INCDIRS),$i/*.h)

ifeq (.depend,$(wildcard .depend))
    include .depend
endif

⌨️ 快捷键说明

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